Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

ng-required overrides type=email initial validation in chrome #10698

Closed
tompi opened this issue Jan 9, 2015 · 0 comments
Closed

ng-required overrides type=email initial validation in chrome #10698

tompi opened this issue Jan 9, 2015 · 0 comments

Comments

@tompi
Copy link

tompi commented Jan 9, 2015

It seems since 1.3.4, ngmodel set from controller, will not get ng-invalid initially if I use both type=email and ng-required in latest chrome. works fine in firefox, or with just required attribute.

Reproducable: always
Browsers: Chrome 39.0.2171.95 m
Operating system: Windows 7

Details in the plnkr:

http://plnkr.co/edit/1iphMDUloBtUQJ4vHxdz?p=preview

@Narretz Narretz added this to the 1.4.x milestone Jan 15, 2015
@Narretz Narretz self-assigned this Jan 15, 2015
Narretz added a commit to Narretz/angular.js that referenced this issue Jan 20, 2015
When a parser has the same name as a validator key, and a parse error
occurs, set validity for parser name after setting validity for the
validator key.

Otherwise, the parse key is set, and then immediately afterwards the
validator key is unset (because parse errors remove all other
validations).

Fixes angular#10698
Closes angular#10828
Narretz added a commit to Narretz/angular.js that referenced this issue Jan 23, 2015
When a parser has the same name as a validator key, and a parse error
occurs, set validity for parser name after setting validity for the
validator key.

Otherwise, the parse key is set, and then immediately afterwards the
validator key is unset (because parse errors remove all other
validations).

Fixes angular#10698
Closes angular#10828
Narretz added a commit to Narretz/angular.js that referenced this issue Jan 23, 2015
For $validate(), it is necessary to store the parseError state
in the controller. Otherwise, if the parser name equals a validator
key, $validate() will assume a parse error occured if the validator
is invalid.

Also, setting the validity for the parser now happens after setting
validity for the validator key. Otherwise, the parse key is set,
and then immediately afterwards the validator key is unset
(because parse errors remove all other validations).

Fixes angular#10698
Closes angular#10828
Narretz added a commit to Narretz/angular.js that referenced this issue Jan 23, 2015
For $validate(), it is necessary to store the parseError state
in the controller. Otherwise, if the parser name equals a validator
key, $validate() will assume a parse error occured if the validator
is invalid.

Also, setting the validity for the parser now happens after setting
validity for the validator key. Otherwise, the parse key is set,
and then immediately afterwards the validator key is unset
(because parse errors remove all other validations).

Fixes angular#10698
Closes angular#10850
petebacondarwin pushed a commit to petebacondarwin/angular.js that referenced this issue Feb 12, 2015
For $validate(), it is necessary to store the parseError state
in the controller. Otherwise, if the parser name equals a validator
key, $validate() will assume a parse error occured if the validator
is invalid.

Also, setting the validity for the parser now happens after setting
validity for the validator key. Otherwise, the parse key is set,
and then immediately afterwards the validator key is unset
(because parse errors remove all other validations).

Fixes angular#10698
Closes angular#10850
petebacondarwin added a commit that referenced this issue Feb 13, 2015
For $validate(), it is necessary to store the parseError state
in the controller. Otherwise, if the parser name equals a validator
key, $validate() will assume a parse error occured if the validator
is invalid.

Also, setting the validity for the parser now happens after setting
validity for the validator key. Otherwise, the parse key is set,
and then immediately afterwards the validator key is unset
(because parse errors remove all other validations).

Fixes #10698
Closes #10850
Closes #11046
netman92 pushed a commit to netman92/angular.js that referenced this issue Aug 8, 2015
For $validate(), it is necessary to store the parseError state
in the controller. Otherwise, if the parser name equals a validator
key, $validate() will assume a parse error occured if the validator
is invalid.

Also, setting the validity for the parser now happens after setting
validity for the validator key. Otherwise, the parse key is set,
and then immediately afterwards the validator key is unset
(because parse errors remove all other validations).

Fixes angular#10698
Closes angular#10850
Closes angular#11046
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.