2014-11-02 2 views
0
<input type="TEXT" name="smth" maxLength="19 "id="smthid"> 

Работает нормально. Но я столкнулся с ситуацией, когда пользователь мог ввести более 19 символов. (мобильный браузер на xperia, в то время как некоторые другие телефоны работают нормально ...)
Какое решение является лучшим решением для решения этой проблемыЛучшее решение для maxLength игнорируется

+0

Это зависит от того, почему вы в первую очередь нуждаетесь в этом, заключается в том, чтобы помочь пользователю не вводить слишком много текста или защищать сервер от слишком большого количества текста? – Guffa

+0

@ Guffa обе. Допустим, что пользователь должен ввести номер социального страхования, он может помочь ограничить максимальную длину, также может быть полезным servervise. – Student

ответ

2

Существует несколько способов решения таких проблем, в зависимости от того, какой опыт вы хотите использовать для пользователь, например:

  • Добавить Javascript, который будет прослушать событие keypress, и удалить символы, если текст слишком длинный.
  • Добавьте Javascript, который проверяет форму на отправке и не позволяет пользователю отправлять форму со слишком длинными значениями.
  • Отклонить ввод на стороне сервера, если значение слишком длинное, и отправить обратно пользователя в форму.
  • Сократите значение на стороне сервера, если оно слишком длинное.

Каждый метод имеет свои недостатки либо по сложности, либо по его пользовательскому опыту.

Обратите внимание, что вы никогда не сможете полностью полагаться на код браузера, чтобы защитить сервер от недопустимого ввода, вы всегда должны выполнить необходимую проверку на стороне сервера.

Смежные вопросы