无法识别为laravel 4.2中的自定义验证指定的错误消息

时间:2015-10-15 04:56:57

标签: laravel laravel-4

我在laravel 4.2中进行了自定义验证并放入了app / start / global.php,我的代码就是这个

Validator::extend('captcha', function($attribute, $value, $parameters)
{
 $captcha = $_SESSION["captcha"];
 return $value == $captcha;
});

Validator::extend('cSY', function($attribute, $value, $parameters)
{
 $appnd = "SY " . $value ."-". ($value + 1);
 $chkSY = DB::table('dbo_schoolyear')
          ->where('SchoolYear' , '=' , $appnd)
          ->count();
 if($chkSY)
 {
    return false;
 }
 else
 {
    return true;
 }

});

然后在我的控制器中这是我的代码

$rules = array(
        'nsy' => 'required|integer|min:2005|cSY'
    );  

    $messages = array(
        'nsy.required'  => 'Please enter Starting Year.',
        'nsy.integer'   => 'Starting year can only contain integer values',
        'nsy.min'       => 'School Year Minimum is 2005',
        'nsy.cSY'       => 'School Year exists'
    );

验证工作正常,但我在messages数组中声明的消息无法识别。我不知道为什么。它输出的错误是validation.c_sy关于我做错了什么的想法?

1 个答案:

答案 0 :(得分:1)

这是一个camelCase问题:recvfrom被解释为cSY

只需将c_sy更改为cSY