У меня проблема с проверкой длины электронного письма в Laravel 5.4.В процессе миграции я создал поле электронной почты по умолчанию, и это было правильно сделано в БД как varchar (191) utf8mb4_unicode_ci
.В веб-интерфейсе нет проблем с проверкой, но в бэкэнде он допускает только до 73 символов.
В Controller для методов сохранения и обновления я попытался:
$this->validate($request, [
// ...
'email' => 'nullable|email',
// ....
]);
$this->validate($request, [
// ...
'email' => 'nullable|email|max:191',
// ....
]);
Просмотр формы ввода:
{!! Form::label('email', 'Email:') !!}
{!! Form::email('email', null, ['class' => 'form-control' . ($errors->has('email') ? ' is-invalid' : ''), 'maxlength' => 191]) !!}
@if ($errors->has('email'))
<span class="invalid-feedback">{{ $errors->first('email') }}</span>
@endif
Это проходит проверку (73 символа):
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatestне пройти проверку (74 символа):
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@test.com*1018)))))))*
Что я делаю не так?