Почему PHP Laravel возвращает `500 Server Error` для Rule-> unique ()?

Я использую следующую проверку в контроллере:

$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]

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
515
1

Ответы 1

Вам нужно вручную отправить ошибку валидации в свой код, как это

    //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 был уникальным в базе данных, верно?

Ravindra Bhanderi 31.03.2018 08:54

Вы можете сказать имя таблицы center_classes

Ravindra Bhanderi 31.03.2018 08:55

хорошо, center_classes, в каком поле содержится уникальное имя класса

Ravindra Bhanderi 31.03.2018 08:57

Я пишу systax на ANS, пожалуйста, попробуйте тему

Ravindra Bhanderi 31.03.2018 09:00

Возвращает то же самое. Не исправил.

Maihan Nijat 31.03.2018 09:02

напишите в комментарии строку проверки

Ravindra Bhanderi 31.03.2018 09:03

вам нужно отправить ошибку проверки вручную в json в ответе api, я пишу для вас код выше ans

Ravindra Bhanderi 31.03.2018 09:10

проблема в другом, потому что этот код я использую много раз, добавьте свой настенный код api, о котором идет речь

Ravindra Bhanderi 31.03.2018 09:13

Хорошо, теперь отслеживайте, как вы пишете код, напишите dd ('hi') в разделе сбоя проверки, а затем запустите api

Ravindra Bhanderi 31.03.2018 09:16

Другие вопросы по теме