Laravel 自定义验证

标签 laravel laravel-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."

--- Controller ---

    $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
)

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

最佳答案

向 View 传递消息方法

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

并使用 get 方法打印

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

为我工作:

The email field is required.

关于Laravel 自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787266/

相关文章:

php - Laravel 时区不工作

php - Laravel 查询生成器搜索(匹配)

php - Laravel 验证来自不同网站的用户

php - Laravel Eloquent ORM 混淆

php - 如何获取待上传记录的ID(自增)?

php - 在 PHP 中处理动态数量的表单字段的最佳方法?

php - Laravel 中的表格摄入和质量分配

php - Laravel 中环境驱动的数据库设置?

php - 将属性及其值从另一个规则传递到请求中的规则

php - 如何在 Controller 中显示验证消息?