Laravel иногда и требует правила неожиданного поведения

Я работаю над приложением 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)

Кто-нибудь знает, что я делаю неправильно или это ошибка, о которой нужно сообщить?


person Dmitry Torba    schedule 24.08.2016    source источник
comment
Это просто проблема порядка операций. В ядре 5.1 есть внутренняя проблема со взрывом и склейкой. Я избавлю вас от скучных основ, но required должен быть последним атрибутом, когда присутствует sometimes, который по совпадению должен быть атрибутом first.   -  person Ohgodwhy    schedule 25.08.2016
comment
@Ohgodwhy, но изменение не помогло   -  person Dmitry Torba    schedule 31.08.2016