input validation unexpected behaviour #2841
Description
Currently input validations like min, max, ngPattern ... Modify the model of the form and this create some unexpected behavior for the end users.
Imagine that you have a form that preloads some values if the validation of one of the inputs were wrong this values would never be shown. But the field would be marked as invalid. Even though the field is not required.
You can see this situation on this example:
http://jsfiddle.net/carpasse/8Q6Uu/28/
Why is the name marked as invalid if it is not required. The user is getting wrong information because if you type one character and then empty the input the field is suddenly valid.
You can see that from the start that the model and the view are not sync. and if you start typing some values in the input the bind model properties disappear until the field gets valid.
In my opinion this behavior is wrong the validation mechanism should only mark the field as invalid and never modify the model. It is the responsibility of the developer to decide what to do with the invalid fields before submitting the data. Also if you don´t show the values from the model if they are invalid you make it much more harder for the user to quickly fix the value. By removing invalid values from the model by default you make it look as if the values were never there from the beginning.
Conclusion:
In my honest opinion validations should never modify the model.