无论我在哪个验证规则中制动,只要输入名称中有数组符号,就像这样
<div class="form-group">
{!! Form::label('titile', '* Eventname: ', ['class' => 'control-label']) !!}
{!! Form::text('title[]', null, ['class' => 'form-control', 'required']) !!}
</div>
我收到此错误:
我试过使用像这样的简单的纯HTML输入
<input type="text" name="title[]" />
甚至喜欢这个
{!! Form::text('title', null, ['name' => 'title[]','class' => 'form-control', 'required']) !!}
但没有任何作用。
只有在没有数组符号[]的情况下输入字段时,验证才能正常运行......
我的验证规则就是这个
$this->validate($request, [
'title' => 'required|min:2',
]);
我不知道还能做什么,如果有人有类似的问题请帮帮忙。
更新:
我现在只用一个表单输入就这样试过了:
<div class="form-group">
{!! Form::label('title', '* Eventname: ', ['class' => 'control-label']) !!}
{!! Form::text('title', null, ['name' => 'title[]','class' => 'form-control', 'required', 'placeholder' => 'z.B. Deutscher Filmpreis']) !!}
</div>
-
public function rules()
{
$rules = [
];
foreach($this->get('title') as $key => $val)
{
$rules['title.'.$key] = 'numeric';
}
return $rules;
}
答案 0 :(得分:1)
将您的验证写入个别请求文件中。这个('title'=&gt;'required | min:2')验证不适用于数组输入。尝试使用此技术进行动态字段验证。
public function rules()
{
$rules = [
];
foreach($this->request->get('title') as $key => $val)
{
$rules['title.'.$key] = 'required|min:2';
}
return $rules;
}
答案 1 :(得分:0)
好的,我终于解决了这个问题。在Laravel 5.3中,某些内容已更改,您无法为字段名称添加空数组括号。
您必须在...内声明索引:
这不起作用
{!! Form::text('title[]', null, ['class' => 'form-control', 'required']) !!}
但这有效
{!! Form::text('title[0]', null, ['class' => 'form-control', 'required']) !!}
所以现在解决了这个问题后,我知道如果你把空[]括号,如果有多个具有相同名称的输入字段,这将有效...但如果你放空括号,你可以选择动态添加新字段我做了......那么带有空数组括号的单个字段将会失败,因为你实际上没有数组......并且你必须将[0]内的一些索引放入... 然后它工作
答案 2 :(得分:0)
在laravel新闻网站上非常好的例子。 https://laravel-news.com/2015/11/laravel-5-2-a-look-at-whats-coming/