如何使用proengsoft / laravel-jsvalidation和Laravel 5验证数组输入

时间:2016-09-26 18:36:30

标签: 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 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但它不起作用并抛出错误:

error1

error2

修改 我忘了提到这些元素是动态创建的 请帮帮我

1 个答案:

答案 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') !!}

这些验证并显示错误消息,其中包含我动态添加到视图中的输入数组的位置。