2016-12-13 4 views
1

Я создал страницу входа. он имеет форму с полями имени пользователя и пароля. Имя пользователя должно быть текстом с типом электронной почты и паролем, который будет содержать текст с паролем типа, который должен удовлетворять шаблону регулярного выражения.Браузеры ведут себя по-разному для сообщений об ошибках формы HTML5

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

Internet Explorer

enter image description here

Google Chrome

enter image description here

Mozilla Firefox

enter image description here

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

Заранее спасибо

+0

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

+0

Это зависит от браузера. Если вы хотите отображать в общем дизайне, вам нужно использовать угловой способ проверки формы ttps: //docs.angularjs.org/guide/forms (если вы используете angularjs) или использовать сторонние плагины для проверки формы. –

+0

Единственный способ гарантировать общий дизайн - это выполнить проверку самостоятельно. Но я должен спросить, действительно ли это проблема? Большинство людей используют и придерживаются одного браузера, они будут использоваться для внешнего вида собственных сообщений об ошибках. – Ankh

ответ

0

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

Что-то вроде этого:

<form name="signUpForm"> 
      <div> 
       <input name="email" type="email" required autocomplete="off" ng-model="formData.Email" /> 
       <div class="error-message" ng-show="signUpForm.email.$error.required">UserName is required</div> 
       <div class="error-message" ng-show="signUpForm.email.$error.email">Not Valid Email</div> 
      </div> 
     </form> 

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

увидеть это: Angular Forms

и это: Angular Forms Validation

для получения дополнительной информации.