Laravel 5.4 array validation as single field message
我遇到以下情况,问题是验证错误发生两次,因为有两个不同的字段。要求是,应该只有一次"需要用户"。
HTML:
1 2 | <input type="text" name="user[]" placeholder="First Name"> <input type="text" name="user[]" placeholder="Last Name"> |
表格请求:
1 2 3 4 5 6 7 8 9 10 11 12 13 | public function rules() { return [ 'user.*' => 'required|min:3', ]; } public function messages() { return [ 'user.*' => 'User is required', ]; } |
验证输出:
1 2 3 4 | /** * User is required field. * User is required field. */ |
这是一项紧迫的任务,所以我做了如下工作。
HTML:
1 2 | <input type="text" name="user_data[]" placeholder="First Name"> <input type="text" name="user_data[]" placeholder="Last Name"> |
表格请求:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public function rules() { $user = \ equest::input('user_data'); $rules = []; if ($user[0] === null || $user[1] === null) { $rules['user'] = 'required'; } return $rules; } public function messages() { return [ 'user.required' => 'User is required' ]; } |
验证输出:
1 2 3 | /** * User is required */ |
好吧,请求本身包含两个名为user []的字段,因此将对该字段进行两次验证。
您可以做的是,创建两个文本字段
1 2 | firstName lastName |
然后保存,先创建
1 2 3 | $fullname=$request->firstName().' '.$request->lastName(); $user->user=$fullname; $user->save(); |