Infragistics(R) NetAdvantage(R) Windows Forms
Validate(ValidationGroup) Method
See Also  Example E-mail your feedback on this topic.
Infragistics.Win.Misc Namespace > UltraValidator Class > Validate Method : Validate(ValidationGroup) Method

validationGroup
The ValidationGroup to be validated.
Validates all controls associated with the specified ValidationGroup.

Syntax

Visual Basic (Declaration) 
Public Overloads Function Validate( _
   ByVal validationGroup As ValidationGroup _
) As Validation
C# 
public Validation Validate( 
   ValidationGroup validationGroup
)

Parameters

validationGroup
The ValidationGroup to be validated.

Return Value

A Validation instance which describes the result of the validation.

Exceptions

ExceptionDescription
System.ArgumentNullExceptionThrown when the specified ValidationGroup is null (Nothing in VB).
System.ExceptionThrown when the specified ValidationGroup is not associated with this instance.
System.ExceptionThrown if this method is called when a validation is currently in progress.

Example

The following code sample demonstrates how a ValidationGroup can be used to programmatically validate more than one control, and how to customize the resulting notification:

Visual BasicCopy Code
Imports Infragistics.Win
Imports Infragistics.Win.Misc
Imports System.Drawing
Imports System.Drawing.Drawing2D

    Private Sub MakeValueRequired(ByVal ultraValidator As UltraValidator, ByVal textFields As List(Of TextBox))

        '  Clear the ValidationGroups collection of any existing members,
        '  and add one that will be assigned to the ValidationSettings for
        '  the specified controls.
        ultraValidator.ValidationGroups.Clear()
        Dim requiredFieldsGroup As ValidationGroup = ultraValidator.ValidationGroups.Add("Required")

        '  Create the ValidationSettings for each control
        Dim count As Integer = IIf(Not textFields Is Nothing, textFields.Count, 0)
        Dim i As Integer

        For i = 0 To count - 1

            Dim textBox As TextBox = textFields(i)
            Dim validationSettings As ValidationSettings = ultraValidator.GetValidationSettings(textBox)
            ValidationSettings.Reset()

            '  Assign the same group to each one
            ValidationSettings.ValidationGroup = requiredFieldsGroup

            '  Do not trigger validation on user interaction, only when the
            '  Validate method is called.
            ValidationSettings.ValidationTrigger = ValidationTrigger.Programmatic

            '  Use the value of the 'Text' property to provide the validation value
            ValidationSettings.ValidationPropertyName = "Text"

            '  Set IsRequired to true
            ValidationSettings.IsRequired = True
        Next

        '  Handle the UltraValidator's ValidationError event
        AddHandler ultraValidator.ValidationError, AddressOf Me.OnRequiredFieldValidationError
    End Sub

    Private Sub ValidateRequired(ByVal requiredFieldsGroup As ValidationGroup)

        '  Get a reference to the UltraValidator component.
        Dim ultraValidator As UltraValidator = requiredFieldsGroup.UltraValidator

        '  Call the Validate method to programmatically validate all controls
        '  that belong to the 'required fields' group. Allow the error images
        '  to be shown, but not the MessageBox.
        ultraValidator.Validate(requiredFieldsGroup, True, False)
    End Sub

    '  Handles the UltraValidator's ValidationError event for required field validations.
    Private Sub OnRequiredFieldValidationError(ByVal sender As Object, ByVal e As ValidationErrorEventArgs)

        Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()
        sb.Append("The following required fields are currently empty:")
        sb.Append(Environment.NewLine)
        sb.Append(Environment.NewLine)

        Dim errors As ValidationResultsCollection = e.Validation.Errors
        Dim i As Integer

        For i = 0 To errors.Count - 1

            Dim result As ValidationResult = errors(i)
            sb.Append(String.Format("{0}{1}", result.ValidationSettings.Control.Name, Environment.NewLine))
        Next

        Dim ultraValidator As UltraValidator = sender
        MessageBox.Show(sb.ToString(), "Validation Error", MessageBoxButtons.OK, ultraValidator.MessageBoxIcon)
    End Sub
C#Copy Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Infragistics.Win;
using Infragistics.Win.Misc;
using System.Drawing;
using System.Drawing.Drawing2D;

    private void MakeValueRequired( UltraValidator ultraValidator, List<TextBox> textFields )
    {
        //  Clear the ValidationGroups collection of any existing members,
        //  and add one that will be assigned to the ValidationSettings for
        //  the specified controls.
        ultraValidator.ValidationGroups.Clear();
        ValidationGroup requiredFieldsGroup = ultraValidator.ValidationGroups.Add( "Required" );

        //  Create the ValidationSettings for each control
        int count = textFields != null ? textFields.Count : 0;
        for ( int i = 0; i < count; i ++ )
        {
            TextBox textBox = textFields[i];
            ValidationSettings validationSettings = ultraValidator.GetValidationSettings( textBox );
            validationSettings.Reset();

            //  Assign the same group to each one
            validationSettings.ValidationGroup = requiredFieldsGroup;

            //  Do not trigger validation on user interaction, only when the
            //  Validate method is called.
            validationSettings.ValidationTrigger = ValidationTrigger.Programmatic;

            //  Use the value of the 'Text' property to provide the validation value
            validationSettings.ValidationPropertyName = "Text";

            //  Set IsRequired to true
            validationSettings.IsRequired = true;
        }

        //  Handle the UltraValidator's ValidationError event
        ultraValidator.ValidationError += new ValidationErrorHandler( this.OnRequiredFieldValidationError );
    }

    private void ValidateRequired( ValidationGroup requiredFieldsGroup )
    {
        //  Get a reference to the UltraValidator component.
        UltraValidator ultraValidator = requiredFieldsGroup.UltraValidator;

        //  Call the Validate method to programmatically validate all controls
        //  that belong to the 'required fields' group. Allow the error images
        //  to be shown, but not the MessageBox.
        ultraValidator.Validate( requiredFieldsGroup, true, false );
    }

    //  Handles the UltraValidator's ValidationError event for required field validations.
    private void OnRequiredFieldValidationError( object sender, ValidationErrorEventArgs e )
    {
        StringBuilder sb = new StringBuilder();
        sb.Append( "The following required fields are currently empty:" );
        sb.Append( Environment.NewLine );
        sb.Append( Environment.NewLine );

        ValidationResultsCollection errors = e.Validation.Errors;
        for ( int i = 0; i < errors.Count; i ++ )
        {
            ValidationResult result = errors[i];
            sb.Append ( string.Format("{0}{1}", result.ValidationSettings.Control.Name, Environment.NewLine) );
        }

        UltraValidator ultraValidator = sender as UltraValidator;
        MessageBox.Show( sb.ToString(), "Validation Error", MessageBoxButtons.OK, ultraValidator.MessageBoxIcon );
    }

See Also