In previous article, we had discussed about validation through Custom code. Now, we will look into the adapters provided by the VAB. VAB is having adapters for ASP.NET, Win Forms and WCF technologies. In this article, we will start with ASP.NET adapter.
Create a new ASP.NET Web application in VS 2008 and name it as ASPAdapterVAB. Now add the following dlls present in Enterprise Library installation folder:
- Microsoft.Practices.EnterpriseLibrary.Validation.Validators and
Now, add a class Employee to default.aspx as shown below:
Create a UI on default page as shown below:
We have few labels, textboxes and PropertyProxyValidators [present in Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet dll] on the page.
We can add this dll to ToolBox, go to Tool Box Choose Items Select Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet.dll Check PropertyProxyValidator Drag & Drop it onto the page.
We need to set following properties for each Validator:
Text Validation Message that need to be displayed.
ControlToValidate ID of the control to validate.
PropertyName Property Name for doing validations.
RuleSetName Name of the Rule set.
SourceTypeName Complete path of the class [Namespace.ClassName].
SpecificationSource Both [default option]. We can set this to either Attributes or Configuration based on the location of validation code.
Now, add the code to click event of Save button as shown below:
Here, Validate method will do the validations and sets IsValid property based on it. Later, we are displaying the error messages coming from validators present in Employee class if chkDetails is checked. If chkDetails is not checked, than we are displaying error message present in Text property of each Validator.
Now, run the application. The output will be like this:
I will just outline the steps in using this VAB adapter for ASP.NET.
- Create validation code using either attributes or configuration.
- Import VAB adapter for ASP.NET into client application.
- Create PropertyProxyValidator and set attributes discussed above.
- Run Validate methods of the validators.
- Check IsValid property for each validator and display error message.
Sometimes, we might input invalid data like entering non-numeric values for salary. In order to handle that, PropertyProxyValidator is having ValueConvert event. Now, we handle invalid salary using EmpSalaryValidator as shown below:
If the data is invalid, it will display an error message and set ConvertedValue to null.
I am ending the things here. I am attaching source code for reference. In coming articles, we will go deep into this Application block. I hope this article will be helpful for all.