Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Здравствуйте,
имею такие правила валидации полей
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х символов
а пустое поле их не содержит
есть еще правило nullable
Изменено vavprog (03.04.2022 15:43:41)
Не в сети
Если name вообще планиурется не присылать то можно использовать правило sometimes.
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
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 — статья
Не в сети