I found a small hole in an application I am developing where a null value in a textbox bound to an integer value wouldn’t get validated.
It was slightly more complicated than that however. The xaml was as follows;
Where my Validation was set for when the control lost focus.
When I added a new record, the value of the binding was set to null, this enforced by validation correctly. Same when I edited the text and left the control. However, if I edited the control when it had a value, say changing the value from a 2 to nothing, then the validation wouldn’t occur.
This was because the binding didn’t have a value for a null entry. Adding a TargetNullValue parameter to the binding and thus changing the binding to the following fixed the issue nicely;
More information on the TargetNullValue Property can be found here;