Laravel 5.4阵列验证作为单场消息

时间:2018-03-31 14:49:25

标签: laravel validation

我有以下情况,问题是验证错误发生两次,因为有两个不同的字段。要求是,应该只有一次“用户是必需的。”

HTML:

<input type="text" name="user[]" placeholder="First Name">
<input type="text" name="user[]" placeholder="Last Name">

表单请求:

public function rules()
{
    return [
        'user.*' => 'required|min:3',
    ];
}

public function messages()
{
    return [
        'user.*' => 'User is required',
    ];
}

验证输出

/**
 * User is required field.
 * User is required field.
 */

2 个答案:

答案 0 :(得分:1)

这是一项紧急任务,所以我按照以下方式完成了这项任务。

<强> HTML:

<input type="text" name="user_data[]" placeholder="First Name">
<input type="text" name="user_data[]" placeholder="Last Name">

表单请求:

public function rules()
{
    $user = \Request::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'
    ];
}

验证输出

/**
 * User is required
 */

答案 1 :(得分:-3)

嗯,请求本身包含两个名为user []的字段,因此将对字段进行两次验证。 你可以做的是,制作两个文本字段

    firstName
    lastName

然后在保存之前,制作

$fullname=$request->firstName().' '.$request->lastName();
$user->user=$fullname;
$user->save();