【问题标题】:not recognizing error messages specified for a custom validation in laravel 4.2无法识别为 laravel 4.2 中的自定义验证指定的错误消息
【发布时间】:2015-10-15 15:11:43
【问题描述】:

我在 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'
    );

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

【问题讨论】:

  • 我怀疑是camelCase 问题。尝试将cSY 更改为csy
  • 谢谢!我工作! :) 请把这个放到答案中:)
  • 我很高兴我的猜测是正确的。干杯!

标签: laravel laravel-4


【解决方案1】:

这是一个驼峰式问题:cSY 被解释为c_sy

只需将cSY 更改为csy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-22
    • 2020-02-26
    • 1970-01-01
    • 2017-05-30
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 2021-02-24
    相关资源
    最近更新 更多