【问题标题】:laravel 4 validation issuelaravel 4 验证问题
【发布时间】:2015-06-28 08:19:36
【问题描述】:

我在控制器存储函数中有这段代码来验证输入标签的值

 $c = count(Input::get('division-name') );

   $divs_ids =  Input::get('division-name');

   $grade_name =Input::get('grade-name');

   // this loop for multiple values that insert from tags input.
    for ($i = 0; $i < $c ; $i++){

   $rules[$i] = 'required|min:5';

   $msgs =  array('required' => 'Division name is required ','min' => 'the :attribute must be at least 5 characters. ') ; 


         }

    $validateDivision = Validator::make($divs_ids,$rules,$msgs);

    $validateGrade = Validator::make(Input::all(),Grade::$rules,Grade::$msgs);


      if ($validateDivision->fails() OR $validateGrade->fails()) {

          $validationMessages = array_merge_recursive($validateGrade->messages()->toArray(),
                                                      $validateDivision->messages()->toArray());            


             return    Redirect::back()->withErrors($validationMessages)->withInput();


    }else{
                  ..............

最小验证的验证信息的问题

show >>> 0 必须至少为 5 个字符。

如何通过输入名称切换 (0),或切换 (0) 到 (1) 的开头

【问题讨论】:

    标签: laravel laravel-4 laravel-validation


    【解决方案1】:

    将替换错误消息中的 :attribute 标记的值将是 $divs_ids 数组的键。

    但是 laravel 允许你使用自定义属性名称。

    首先,您需要创建一个包含属性名称的数组。 您可以在已有的 for 循环中执行此操作:

    for ($i = 0; $i < $c ; $i++){
        $rules[$i] = 'required|min:5';
        $customAttributes[$i] = 'Division name n°' . $i + 1; //For exemple
    }
    

    现在您可以像这样使用该数组:

    $validateDivision = Validator::make($divs_ids,$rules,$msgs);
    $validateDivision->setAttributeNames($customAttributes); 
    

    这样,您的错误消息应该会显示自定义属性名称。

    【讨论】:

    • 感谢 Shibby 先生的帮助,我确实按照您所说的那样工作,现在 (0) 已更改为 (1) 但对于所有标签输入,换句话说,现在变为 (1) 已修复不根据标签输入索引增加
    【解决方案2】:

    我刚刚解决了

    更改$customAttributes[$i] = 'Division name n°' . $i + 1;

    $customAttributes[$i] = $i + 1;

    【讨论】:

    • 我认为您的自定义消息可以在循环之外声明。
    • 是的,你说得对,我在循环外试过也很好。
    猜你喜欢
    • 2013-08-05
    • 2014-07-19
    • 2013-06-21
    • 2019-02-07
    • 2014-03-17
    • 1970-01-01
    • 2013-05-07
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多