Avoiding UI-based validation errors
In the last example from the previous section, we data bound the whole Validation.Errors
collection to a tooltip in the error template for our textbox. We also data bound our own Errors
collection from our base class to the items control above the form fields.
Our Errors
collection can display all of the errors for all of the properties in each data model. However, the Validation.Errors
collection has access to UI-based validation errors that never make it back to the View Models. Take a look at the following example:
The UI-based validation error says Value '0t' could not be converted and that explains why the View Models never see this error. The type of value expected in the data bound property is decimal, but an unconvertible value has been entered. Therefore, the input value cannot be converted to a decimal and so, the data bound value is never updated.
However, the Validation.Errors
collection is a UI element and each data bound control has its own...