Десять редко используемых правил валидации Laravel
prohibited
Хотите убедиться, что поле отсутствует во вводимой информации? Используйте prohibited
.
'username' => 'prohibited',
Если username
включено в запрос, валидация будет провалена. Просто и эффективно, особенно для honeypot!
prohibits
Нужно, чтобы поле запрещало наличие другого поля? Посмотрите это.
'password' => 'prohibits:username',
Если password
указан, то поле username
не должно быть введено.
required_if
Это правило валидации спасает, когда нужна условная проверка.
'email' => 'required_if:contact_method,email',
Поле email
требуется только в том случае, если contact_method
— email
.
required_unless
Противоположность required_if
. Используется для требования поля, если другое поле не имеет определённого значения.
'email' => 'required_unless:contact_method,phone',
Здесь требуется email
, если в качестве contact_method
не указан phone
.
required_without
Это правило валидации отлично подходит, когда поле нужно только в том случае, если другое поле отсутствует.
'email' => 'required_without:phone',
Если phone
не предоставлен, необходимо указать email
.
required_without_all
Усовершенствуйте правила игры, требуя заполнения поля, если ни одно из других указанных полей не заполнено.
'email' => 'required_without_all:phone,address',
Если ни phone
, ни address
не указаны, необходимо указать email
.
starts_with
Проверьте, начинается ли строка с заданного значения.
'username' => 'starts_with:admin,user',
Поле username
должно начинаться либо с admin
, либо с user
.
ends_with
Аналогичным образом можно проверить, заканчивается ли строка определённым значением.
'username' => 'ends_with:_admin,_user',
Поле username
должно заканчиваться либо _admin
, либо _user
.
in_array
Убедитесь, что значение поля существует в другом массиве полей.
'selected_option' => 'in_array:available_options.*',
Поле selected_option
должно быть одним из значений в массиве available_options
.
different
Убедитесь, что два поля имеют разные значения.
'new_password' => 'different:current_password',
Поле new_password
должно отличаться от поля current_password
.
Подведение итогов
Ну вот и всё! Десять очень удобных правил валидации Laravel, о которых вы могли не знать. Их использование поможет сэкономить время и сделать код чище и эффективнее.