SSW .NET Toolkit > User Guide

DOT NET Tool kit - Develop Applications More Efficiently with the SSW .NET Toolkit

Client Side Validation using Extended Providers

SSWValidator provides a simple form validation control that solves the rule Do you use Validator controls?

What is an extended provider?

An extended provider is a component that is dropped on your forms and the purpose of the extended provider is to add more properties to your controls. A good example of an extended provider is the ErrorProvider control that comes with Visual Studio.NET. What the ErrorProvider does is to add some properties to an existing control (e.g. a textbox) which allows error messages to be displayed on that textbox.

Textbox
Figure: A textbox with the ErrorProvider attached to it

SSW WinValidator is an extended provider. When dropped on the form from the toolbox, it attaches additional properties to textboxes to provide field validation.

How to use the SSW Validator

  • Right-Click on the toolbox tab and click Add/Remove Items... (It might be a good idea to add a tab to the Toolbox to hosts your custom controls)

  • Browse to our DLL and click on OK
  • You should see these new components in your toolbox

    Custom controls
    Figure: The WinValidator components added to your control toolbox.

  • Drop the components that you will need your forms, including the ErrorProvider Control that comes with Visual Studio.NET. When you do that, you will see these fields added to your textbox properties.

    Extended properties
    Figure: Additional Properties added to a textbox

  • On the validation Properties window of the Validation Manager, set the setting as per the figure below

    Validation Manager
    Figure: Validation Manager Properties to be modified

  • Use these to enable fields validation on your textboxes.

Custom Controls

Another way to achieve a similar result is by creating custom controls. This can be done by creating a new control which inherits the base control and then adding the properties required for validation to the new control.

Public Class mySelfValidatingTextbox
Inherits System.Windows.Forms.TextBox

'// Implementation code goes here

End Class
Figure: Sample Self Validating Textbox

Custom controls are good because they:

  • can be coded neatly,
  • can be customised as needed,
  • are easy to implement.

Although custom controls have some benefits, they are vulnerable to certain pitfalls that extended providers are not. For instance, on a form that has several textboxes, in order to use a customised textbox, substantial code modification would be required. It would be necessary to:

  • replace every textbox that requires customisation with the newly created custom textbox
  • make sure that each new textbox has the same name as the one it replaced and re-add the event handler to the existing code behind that textbox (if any)
  • ensure that each custom control is positioned in the same place on the form.

This tedious procedure makes it clear as to why Extended Providers are the better choice for adding properties to controls.