Валидация в Laravel на основе длины другого поля
Хочу сделать поле "Краткое название" обязательным для заполнения, если значение поля "Название" имеет длину более 300 символов. Может кто-то подобное уже реализовывал?
Пытаюсь написать правило валидации, гугл не помогает.
Заранее благодарю за помощь.
Ответы (1 шт):
Автор решения: Dmitrii Sedov
→ Ссылка
Всё есть в документации в разделе валидация. Используйте фасад Rule. В качестве входного параметра должна быть функция возвращающая bool или просто значение с типом bool
use Illuminate\Validation\Rule;
...
$request->validate([
'name' => 'required|string|min:10',
'slug' => [
'string',
'nullable',
Rule::requiredIf(mb_strlen($request->name) >= 300)
]
]);