Как отменить правило валидации? laravel - PullRequest
0 голосов
/ 26 января 2020

В настоящее время я использую пользовательское правило проверки в моем AppServiceProvider. php.

Validator::extend('driver_assigned', function ($attribute, $value, $parameters, $validator) {
    //more code here
});

Не думаю, что будет хорошей идеей создать другое для driver_unassigned .

Validator::extend('driver_unassigned', function ($attribute, $value, $parameters, $validator) {
    //more code here
});


Мне может быть интересно, существует ли правило проверки laravel, которое могло бы сделать отрицание что-то вроде ниже, чтобы уменьшить кодирование.
'driver_id' => 'not:driver_assigned',
'image_id' => 'not:image'

Как отменить результат всех правил проверки?

Ответы [ 2 ]

0 голосов
/ 26 января 2020

Возможно, вам следует попробовать использовать unique правило проверки вместо создания собственного правила проверки. Предполагая, что у вас есть таблица drivers и поле driver_id, где вы храните уникальные идентификаторы драйверов:

'driver_id' => 'unique:drivers,driver_id'

Таким образом, Laravel проверит в таблице drivers, если задано driver_id, ввод не выполняется. У меня еще нет записи.

Источник: https://laravel.com/docs/5.8/validation#rule - уникальный

0 голосов
/ 26 января 2020

Вы можете использовать другое правило проверки

'driver_id' => 'different:driver_assigned',
'image_id' => 'different:image'
...