Я использую следующую проверку в контроллере:
$request->validate([
'name' => [
'required',
'max:50',
Rule::unique('center_classes')
]
]);
Я также пробовал следующее:
$request->validate([
'name' => [
'required',
'max:50',
Rule::unique('center_classes', 'The class name exist.')
]
]);
У меня в validation.php есть следующая строка:
'unique' => 'The :attribute has already been taken.',
Остальные ошибки работают правильно, но только Rule->unique() вызывает Error Server вместо передачи сообщения.
[HTTP/1.1 500 Internal Server Error 287ms]






Вам нужно вручную отправить ошибку валидации в свой код, как это
//use first
use Validator;
$response = array('response' => '', 'success'=>false);
$rules = array('name' => 'unique:center_classes,name');
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
$response['response'] = $validator->messages();
}else{
//process the request
}
return response()->json($response);
Вы можете сказать имя таблицы center_classes
хорошо, center_classes, в каком поле содержится уникальное имя класса
Я пишу systax на ANS, пожалуйста, попробуйте тему
Возвращает то же самое. Не исправил.
напишите в комментарии строку проверки
вам нужно отправить ошибку проверки вручную в json в ответе api, я пишу для вас код выше ans
проблема в другом, потому что этот код я использую много раз, добавьте свой настенный код api, о котором идет речь
Хорошо, теперь отслеживайте, как вы пишете код, напишите dd ('hi') в разделе сбоя проверки, а затем запустите api
вы хотите, чтобы center_classes был уникальным в базе данных, верно?