Как добавить пользовательскую проверку и сообщение в laravel nova для одного поля

Я хочу добавить пользовательскую проверку для одного поля в файле ресурсов laravel nova.

У меня есть одно поле в БД, которое находится service_id в таблице service, и у меня есть файл ресурсов nova для той же таблицы. При создании службы я хочу получить данные, используя service_id из другой таблицы, и проверить, присутствуют ли данные или нет, и если они есть, то я не хочу вводить это service_id в таблицу.

Так может ли кто-нибудь помочь мне, как я могу написать собственные правила проверки в файле ресурсов laravel nova?

Стоит ли изучать 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-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
5
0
1 953
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

С помощью следующей команды вы можете создать собственный класс правил:

php artisan make:rule CustomRule

Внутри функции полей в вашем ресурсе:

Text::make('Service ID', 'service_id')->rules(new CustomRule());

Вернитесь к файлу правил и внутри функции pass:

public function passes($attribute, $value)
{
    //You can check inside the database if your record exists
    return false; //if the rule should stop the user
    return true; //if everything is fine and you want the user to proceed.
}

public function message()
{
    return 'Return your custom error message';
}

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