Dynamic validation according to logged in user
Many times we want certain set of validation to fire for some user and certain set of validation to fire for some other user. In the section we will see how we can achieve the same using Microsoft enterprise validation blocks.
I have been writing and recording videos on architecture, design patterns, UML, enterprise blocks etc. You can view all my videos on http://www.questpond.com/ . Any feedbacks do email me at firstname.lastname@example.org
There are times when you want validation according to the logged in user or customer. For instance in the below figure you can see we want different validation for both user. For one user we want that the customer code should be minimum 2 characters while for the other user we want it to be 5 characters.
Figure: - Logged in user
Enterprise library helps us to solve this problem like a charm. To understand this article you need to once read basics of how to implement validation using VAB ( validation application blocks ). In case you are not aware of the basics you can read the same from my previous article http://www.dotnetspark.com/kb/312-16-steps-to-write-flexible-business-validation.aspx .
To fire validation according to logged in user is a two step process.
First you need to define two different rule set according to customer. For instance you can see in the below figure we have defined two validation. The first validation checks if the customer code is minimum two length while the second validation checks if the customer code is five length.
Step 2:- In step 2 we just need to call the validation according to user logged in using the "Validation" static class. The validate function of the validation static class have two parameters one is the customer object and the other is the rule name. So depending on logged in customer you can fire the rules on fly.