您好我正在尝试验证数组输入并选择如下:
<td width="23%">
{!!Form::select('mmscod_id[]',['' => '- Seleccione un material -'] +$mat,null,['class' => 'form-control', 'id'=>'mmscod_id'])!!}
</td>
<td width="17%">
<input type="text" class="form-control" id="cantidad" name="vtcanp[]"/>
</td>
<td width="17%">
<input type="text" class="form-control" id="precio" name="vtprep[]"/>
</td>
我使用proengsoft/laravel-jsvalidation进行客户端验证。对于后端,我使用Laravel的Form请求。
我也使用此网站的方法:How To: Validate an array of form fields with Laravel但它不起作用并抛出错误:
修改 我忘了提到这些元素是动态创建的 请帮帮我
答案 0 :(得分:1)
Laravel支持验证数组输入。您需要使用此约定来验证数组项。
$rules = [
'vtcanp.*' => 'required',
];
例如:
这是我的自定义请求类
class InvoiceRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
$rules =[
'client' => 'required',
'date' => 'required',
'total' => 'required',
'discount' => 'required',
'item.*' => 'required',
'rate.*' => 'required',
'quantity.*' => 'required',
];
return $rules;
}
}
在视图中添加了
{!! JsValidator::formRequest('App\Http\Requests\InvoiceRequest') !!}
这些验证并显示错误消息,其中包含我动态添加到视图中的输入数组的位置。