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);       
    }
}

--- application / language / 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);
    }

---入力---

passwd = 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 に答える