This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies.
Developers often have to perform validations that cannot be completed on the client because they require resources in the server, such as a list of valid values against which to validate the input. In these cases, ASP.NET developers typically use validation controls that perform custom server-side validations (that is, CustomValidator controls). This kind of validation control requires full postbacks to perform the validation.
This Web Client Software Factory includes an extender control named ServerSideValidationExtender. This control allows ASP.NET developers to invoke existing server-side validators through an asynchronous callback, without performing a full postback to the server.
The benefits of using the ServerSideValidationExtender control are that it improves UI responsiveness and it simplifies the application code because the extender encapsulates the logic to asynchronously interact with the server. Therefore, developers can focus entirely on the validation logic and do not have to deal with low-level communication implementation details.
The ServerSideValidationExtender control can extend the PropertyProxyValidator control provided by the Validation Application Block. By combining the ServerSideValidationExtender and the Validation Application Block, you can encapsulate validation best practices into easily maintainable code that you can reuse. By using encapsulation, you can separate the application code from the validation logic. A common situation where the Validation Application Block works well is when your validation code must work across multiple layers of the application's architecture.
For more information about the Validation Application Block, see The Validation Application Block in the Enterprise Library documentation.
Using the Control
For information about how to use the ServerSideValidationExtender control, see How to: Use the ServerSideValidationExtender Control.