Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 02.04.2022 22:21:16

Не возвращать ошибки валидации если поле не required

Здравствуйте,
имею такие правила валидации полей

public function rules()
    {
        return [
            'name' => 'min:2|max:25',
            'subject' => 'min:2|max:25',
            'email' => 'email',
            'content' => 'required|min:2',
        ];
    }

Поле name например необязательное и nullable в бд
Если его не заполнить, я рассчитываю не получать ошибку, но все равно в errors приходит - The name must be at least 2 characters.

Как получать ошибки у необязательных полей ТОЛЬКО если оно заполнено, но не соответствует правилам? Если не заполнено, то пропускать, оно же необязательное!?

Не в сети

#2 03.04.2022 14:21:36

Re: Не возвращать ошибки валидации если поле не required

Тут вообще есть кто живой? sad

Не в сети

#3 03.04.2022 15:40:29

Re: Не возвращать ошибки валидации если поле не required

ну в правиле не менее 2х символов
а  пустое поле их не содержит
есть еще правило nullable

Изменено vavprog (03.04.2022 15:43:41)

Не в сети

#4 17.04.2022 14:33:03

i3bepb
Откуда: Екатеринбург
Сообщений: 20

Re: Не возвращать ошибки валидации если поле не required

Если name вообще планиурется не присылать то можно использовать правило sometimes.

PHP
public function rules()
    {
        return [
            
'name' => 'sometimes|min:2|max:25',
            
'subject' => 'sometimes|min:2|max:25',
            
'email' => 'sometimes|email',
            
'content' => 'required|min:2',
        ];
    }

Если же name постоянно будет приходит, но в случае, когда оно не нужно оно равно пустой строке или null, тогда тут подойдет правило nullable

PHP
public function rules()
    {
        return [
            
'name' => 'nullable|min:2|max:25',
            
'subject' => 'nullable|min:2|max:25',
            
'email' => 'nullable|email',
            
'content' => 'required|min:2',
        ];
    }

Ну и оф. документации для подробностей, а вообще есть еще вот хорошая статья про различия nullable и sometimes — статья

Не в сети

Подвал раздела