Laravel 5.4数组验证为单字段消息

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();