3

--- 自定义验证类 (application/libraries/validator.php) ---

 class Validator extends Laravel\Validator {
    public function validate_passwdU($attribute, $value, $parameters){
        $r_uppercase    = '/[A-Z]/';  //Uppercase
        $default_min = 1;
        if(is_numeric($parameters[0])>=$default_min){
        $default_min = $parameters[0];
        }
        return (preg_match_all($r_uppercase,$value, $matches)>=$default_min);       
    }
}

--- 应用程序/语言/en/validation.php ---

    "passwdU" => "The :attribute must be at least :size uppercase characters."

- - 控制器 - -

    $rules = array(
        'passwd' => 'required|min:8|passwdU:2'
    );

    $validation = Validator::make($input, $rules);

    if ($validation->fails())
    {
        return Redirect::to('URL')->with_errors($validation);
    }

- - 输入 - -

密码 = 11111111

- - 看法 - -

<pre>
<?php print_r($errors); ?>
</pre>

- - 输出 - -

Laravel\Messages Object
(
    [messages] => Array
    (
        [passwd] => Array
            (
                [0] => validation.passwdU
            )

    )
    [format] => :message
)

为什么我没有收到我在语言文件中定义的消息?

4

1 回答 1

0

将消息方法传递给视图

return Redirect::to('login')
    ->withErrors($validator->messages())

并用get方法打印

{{ $errors->get('email') }}

为我工作:

The email field is required.
于 2013-02-27T17:24:19.067 回答