jre*_*121 4 php validation laravel-4
我的所有表单字段在其名称中都有括号,以便按父级对它们进行分组,并将它们标识为重复元素,例如:fieldName_01[0][0].当然,这使得经常使用Laravel的Validator类是不可能的,因为它会引发错误,引用它不期望数组.这种命名惯例是常见的做法,因此这不是一个罕见的问题.
我已经看到了其他几个类似的问题(这里和这里),但我似乎无法理解它们(Laravel noob),或者我只是不知道如何/在何处实施解决方案.在这个答案中,我将在哪里创建这个扩展类?我如何告诉Laravel将其包含在我的项目中?
我的元素示例:
<div class="form-group col-sm-4'}}">
{{ Form::label('fieldName_01[0][0]', 'My Element', array('class'=>'col-sm-3'))}}
<div class="col-sm-7 col-md-6 recurringField">
{{ Form::text('fieldName_01[0][0]', null, array(
'class'=>'form-control input-md',
'placeholder'=>'My Element',
'data-element-code' => '',
'data-recur-group' => 'fieldName_01',
'id'=>'fieldName_01[0][0]',
'data-fkey' => '0',
'data-pkey' => '0'
)) }}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的规则示例:
'fieldName_01'=>'required|alpha_num|between:2,255'
Run Code Online (Sandbox Code Playgroud)
我如何调用验证器的示例:
$input = Input::all();
$validator = Validator::make($input, $this->rules);
Run Code Online (Sandbox Code Playgroud)
根据文件:
处理带有"数组"输入的表单时,您可以使用点表示法来访问数组:
(警告未经测试的代码)
如果你有类似的东西user[first_name]:
'user.first_name' => 'required|between:2,28'
Run Code Online (Sandbox Code Playgroud)
你可以处理任何错误:
$errors->first('user.first_name');
Run Code Online (Sandbox Code Playgroud)
因此,对于您的问题,您可以验证fieldName_01[0][0]如下:
'fieldName_01.0.0' => 'required|alpha_num|between:2,255'
Run Code Online (Sandbox Code Playgroud)