Я работаю над приложением Laravel. В UserRequest
я проверяю ввод. Следующее правило:
'name' => 'sometimes|required|string|min:2|max:50'
терпит неудачу, если имя пользователя отсутствует, хотя присутствует ключевое слово sometimes
. Однако следующий запрос работает нормально:
'name' => 'sometimes|string|min:2|max:50'
Я не первый, кто столкнулся с этой проблемой (см. Правило проверки Laravel не работает а>).
Однако в документации сказано, что я должен использовать первый вариант:
В некоторых ситуациях вы можете захотеть выполнить проверку поля только в том случае, если это поле присутствует во входном массиве. Чтобы быстро выполнить это, добавьте правило иногда в свой список правил:
$v = Validator::make($data, [
'email' => 'sometimes|required|email',
]);
В приведенном выше примере поле электронной почты будет проверено только в том случае, если оно присутствует в массиве $data.
(https://laravel.com/docs/5.1/validation)
Кто-нибудь знает, что я делаю неправильно или это ошибка, о которой нужно сообщить?
required
должен быть последним атрибутом, когда присутствуетsometimes
, который по совпадению должен быть атрибутомfirst
. - person Ohgodwhy   schedule 25.08.2016