【问题标题】:Validate array inputs using laravel-jsvalidation使用 laravel-jsvalidation 验证数组输入
【发布时间】:2016-12-16 14:49:15
【问题描述】:

您好,我正在尝试验证这样的数组输入。

{!!Form::open()!!}
   <input type="text" name="value1[]">
   <input type="text" name="value1[]">
  {!! Form::submit('submit') !!}
{!! Form::close()!!}

这是我的控制器

   $rules = [
              'value1[]' => 'required|array',

         ];

   $data = $request->all()

   $validator = Validator::make($data, $rules);

        if ($validator->fails())
        {
            return redirect()->back()->withErrors($validator->errors());
        }

不幸的是,它似乎不起作用。如何使用 laravel jsvalidation 验证 laravel 中的输入字段?这是我正在使用的包https://github.com/proengsoft/laravel-jsvalidation/issues/174

谢谢,

【问题讨论】:

  • 只想验证value1 是否为数组?或者您想验证数组中的单个元素 value1
  • 实际上,我正在尝试验证 value1 是否为空。我想验证数组中的单个元素。
  • 当问题与此插件无关时,请不要使用 jQuery Validate 标签。已编辑。谢谢。

标签: jquery laravel jsvalidation


【解决方案1】:

试试这个:

$rules = [
              'value1.*' => 'required',

         ];

参考,validating array inputs in laravel

更新:

$rules = [
              'value1' => 'array|required',

         ];

【讨论】:

  • @Atashi 如果这解决了您的问题,您可以选择它作为答案。
  • 不幸的是,这不起作用。如果我尝试使用 $validator->fails() 验证这一点,它总是说 true。不管有value还是null,总是失败。
  • 你知道value1数组的结构吗?
  • 是这样的 > value1[index][index] or value1[index][key],这里index表示数字,key表示任意字符串
  • 在我的html上可以看到,元素的名字是name="value[]",这是动态创建的,
【解决方案2】:

您可以创建一个表单请求类并使用捕获

$this-&gt;request-&gt;get('items')

这样你就可以遍历你的数组输入。

这是一个可能对您有帮助的链接:

https://ericlbarnes.com/2015/04/04/laravel-array-validation/

【讨论】:

    猜你喜欢
    • 2017-02-04
    • 2017-11-13
    • 2014-09-20
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    相关资源
    最近更新 更多