Laravel验证:检查验证器失败的原因

dco*_*bus 9 php validation laravel laravel-4

如果有办法检查验证器是否因unique规则而特别失败?

$rules = array(
            'email_address' => 'required|email|unique:users,email',
            'postal_code' => 'required|alpha_num',
        );

        $messages = array(
            'required' => 'The :attribute field is required',
            'email' => 'The :attribute field is required',
            'alpha_num' => 'The :attribute field must only be letters and numbers (no spaces)'
        );

        $validator = Validator::make(Input::all(), $rules, $messages);

        if ($validator->fails()) {
Run Code Online (Sandbox Code Playgroud)

在外行人看来,我基本上想知道:"验证失败了,因为email_address不是唯一的吗?"

Bri*_*ham 20

检查返回的失败规则数组中的特定规则

if ($validator->fails()) {

    $failedRules = $validator->failed();

    if(isset($failedRules['email_address']['Unique'])) {

    ...
Run Code Online (Sandbox Code Playgroud)