10:09 I think binding the tooltip directly with the dictionary will throw an exception when there is no error on the property - you only show when there are errors. Ps: There is also another interface for validation INotifyOnDataErrroInfo which I think is also very powerful
I prefer the IDataErrorInfo interface, but an issue in all cases is if you have a Textbox backed by a numeric property with a OneWayToSource binding and the user enters an invalid string. It's not easy to communicate that back to the ViewModel in a Command's CanExecute handler for example. What I did was make a custom ValueConverter that TryParses the string to an int or -1 if error and treat -1 as an invalid value.
Great explanation and with different implementations - I've ended up using a combination of these to fit the needs of my view. Thanks for taking time to put these videos together.
How was the video quality? I just recently realized I had been recording with a downscale to 720p, so in this video I changed to 1080p. Not sure if the extra file size is worth it or not.
Nice video. I have a little question when I tried the ValidationByDataAnnotation method, Unable to cast object of type 'System.Int32' to type 'System.Array' gave me this error, what have I done wrong?
How can i set the MinimumCharacters field from source code (the value is 5 in the 14:29 picture in the video). I want to set the rule's value from a value what was read out from an xml file at startup. I can't solve this huge problem, and it is quite urgent for me. Thanks in advance.
I firstly thought so aswell. But everytime that "name" validates successfully (i.e. result == null after value of name get checked) we still assign result ( = null ) to ErrorCollection[name], therefore resetting its error message.
Well the simple way of doing it would be to set the TextBox.Text property to empty in your submit Click Event. Something like this: private void btnSubmit_Click(object sender, RoutedEventArgs e) { txbUsername.Text = ""; }
Great explanation! Thank you so much.
BTW: Thanks for the Ctrl+. tip. I knew it was possible but I didn't know the combination.
10:09 I think binding the tooltip directly with the dictionary will throw an exception when there is no error on the property - you only show when there are errors.
Ps: There is also another interface for validation INotifyOnDataErrroInfo which I think is also very powerful
I prefer the IDataErrorInfo interface, but an issue in all cases is if you have a Textbox backed by a numeric property with a OneWayToSource binding and the user enters an invalid string. It's not easy to communicate that back to the ViewModel in a Command's CanExecute handler for example. What I did was make a custom ValueConverter that TryParses the string to an int or -1 if error and treat -1 as an invalid value.
Really good video, it helps a lot, thank you.
Great explanation and with different implementations - I've ended up using
a combination of these to fit the needs of my view. Thanks for taking time to put these videos together.
many thanks for your valuable tutorial
Thanks much for your tutorials. We need more and more from you :)
How was the video quality? I just recently realized I had been recording with a downscale to 720p, so in this video I changed to 1080p. Not sure if the extra file size is worth it or not.
ToskersCorner video quality is nice. However getting 720p only
How can I display the error message in the textbox when using exceptions?
Great Explanation !
any way to manage ( *value could not be converted* ) Error message ? that is fired by ( idataErrorinfo )
Is there any possibility to also bind button enable/disable status with textblock changing?
Why my OnPropertyChanged got error at IDataErrorInfo?Please help!
which one is best performance wise?
Nice video.
I have a little question when I tried the ValidationByDataAnnotation method, Unable to cast object of type 'System.Int32' to type 'System.Array' gave me this error, what have I done wrong?
Using the IDataErrorInfo approach together with an ErrorTemplate with seems to work. Am I right that ErrorCollection won't be necessary in this case?
How can i set the MinimumCharacters field from source code (the value is 5 in the 14:29 picture in the video). I want to set the rule's value from a value what was read out from an xml file at startup.
I can't solve this huge problem, and it is quite urgent for me.
Thanks in advance.
ErrorCollection will keep old messages. Where do you clear the collection?
I firstly thought so aswell. But everytime that "name" validates successfully (i.e. result == null after value of name get checked) we still assign result ( = null ) to ErrorCollection[name], therefore resetting its error message.
Is it possible to disable/enable Submit button based on these validation errors?
Try using a multivalue converter for multiple input fields and then handling the logic inside of the converter.
well done. Simple, short, clear. No fuss, no wasting time. Tip to the point. And also your english is understandable.
14:02 If you wanna property validates on start need set ValidationRule property ValidatesOnTargetUpdate="True". In this case 13:50 need write:
Are you able to demo the validation being triggered by a button press....
Great explanation! Thank you so much.
annotation more simple & clean I think.. good video .. Thanks
Great Video... I like the annotation because it is like what I use in MVC. Thank you!
How would you get access to a validation errors in example 3 in your viewmodel?
Can you timestamp that spot to which you are referring?
@@ToskersCorner I think he means example 3 which starts at 10:39 - The minimum character rule.
How would you implement a default validation when using the IDataErrorInfo interface? I would like to avoid a giant switch statement.
very cool but how can we bind error collection in ex2 to the error template in ex3?
Thank you very much, this is very educative
Finally found a good video on validation. Thank you
Excelent video!!!! thanks
Thank you very much for all your video series
very helpful. Thanks
How to do it in the combo box??
Really nice. I'm learning a lot from you. Keep going, you have a valuable content here.
just thinking. how to clear TextBox After submitting.
Well the simple way of doing it would be to set the TextBox.Text property to empty in your submit Click Event. Something like this:
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
txbUsername.Text = "";
}