Javascript 如何使用proengsoft/laravel jsvalidation和laravel 5验证阵列输入
您好,我正在尝试验证数组输入,并选择如下:Javascript 如何使用proengsoft/laravel jsvalidation和laravel 5验证阵列输入,javascript,laravel,validation,laravel-5,Javascript,Laravel,Validation,Laravel 5,您好,我正在尝试验证数组输入,并选择如下: <td width="23%"> {!!Form::select('mmscod_id[]',['' => '- Seleccione un material -'] +$mat,null,['class' => 'form-control', 'id'=>'mmscod_id'])!!} </td> <td
<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>
{!!Form::select('mmscod_id[]',[''=>'-seleccioneun-material-']+$mat,null,['class'=>'表单控件','id'=>'mmscod_id'])
我正在使用用于客户端验证的。对于后端,我使用Laravel的表单请求
我也使用此站点的方法:但它不起作用并抛出错误:
编辑:
我忘了提到这些元素是动态创建的
请帮助我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') !!}
这些命令验证并显示错误消息以及我动态添加到视图中的输入数组的位置。我尝试了,但没有验证客户端。我认为proengsoft/laravel jsvalidation还不支持此验证规则。对我来说,它适用于动态创建的输入字段。我正在使用laravel 5.5和jsvalidation 2.2.1开发laravel 5.2,这个答案对我来说很好,但如果我提供“数组”类型验证,例如“rate”=>“required | array | min:1”,它将失败。当数组中只有1个元素时,这会中断JsValidation(JsValidation请参见,在本例中它是一个单一值,而不是数组)