Показать сообщение отдельно
  #7 (permalink)  
Старый 24.04.2015, 11:37
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Для имейлов применяют вот такой паттерн

^[^\s@]+@[^\s@]+\.[^\s@]+$

пишите его прямо в атрибут pattern="^[^\s@]+@[^\s@]+\.[^\s@]+$" и там можно либо встроенную валидацию формы заюзать, либо уже в цикле прогнать скриптом все найденные поля. А чтобы и сообщения об ошибках не хранить в скрипте, так же в атрибут data-err="Короче, имя не должно быть короче 1 буквы" можно записать.

То есть примерно так

for(var i=0,inputs=form.elements,inp,log=[];inp=inputs[i];i++)
if(!new RegExp(inp.getAttribute('pattern')).test(inp.value)
  log.push(inp.getAttribute('data-err'));



Ну далее по месту. То есть это будет вся валидация для любого количества полей в форме при условии что у всех у них есть паттерн с регой и дата-ерр
Ответить с цитированием