Я предварительно проверяю атрибут по двум правилам: required
и unique
.Атрибут att1
в сочетании с att2
и att3
должен быть уникальным в базе данных.Я хочу отобразить сообщение об ошибке в другом месте по разным причинам сбоя.Например, если проверка не удалась из-за правила required
, я хочу отобразить сообщение об ошибке в одном элементе div, а если произошла ошибка из-за правила unique
, я хочу отобразить сообщение об ошибке в другом div.
Вот мой валидатор:
$messages = [
'att1.unique' => 'Given combination has already been registered.',
'att1.required' => 'Please select att1',
'att2.required' => 'Please select your att2',
'att3.required' => 'Please select your att3',
];
return Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6', 'confirmed'],
'att1' => [
'bail','required',
Rule::unique('users')->where(function ($query) use($attr1,$attr2,$attr3) {
return $query->where('att1', $attr1)
->where('att2', $attr2)
->where('att3', $attr2);
}),
],
'att2' => ['required'],
'att3' => ['required'],
],$messages);
Как отобразить сообщение об ошибке для att1.unique
и att1.required
в разных местах, когда они появляются?