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.Common,
- Microsoft.Practices.EnterpriseLibrary.Validation.Validators and
- Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet
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
 Choose Items ![]() Select Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet.dll
 Select Microsoft.Practices.EnterpriseLibrary.Validation.Integration.AspNet.dll ![]() Check PropertyProxyValidator
 Check PropertyProxyValidator ![]() Drag & Drop it onto the page.
 Drag & Drop it onto the page.
We need to set following properties for each Validator:
Text ![]() Validation Message that need to be displayed.
 Validation Message that need to be displayed.
ControlToValidate ![]() ID of the control to validate.
 ID of the control to validate.
PropertyName ![]() Property Name for doing validations.
 Property Name for doing validations.
RuleSetName ![]() Name of the Rule set.
 Name of the Rule set.
SourceTypeName ![]() Complete path of the class [Namespace.ClassName].
 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.
 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.