Xceed DataGrid for WPF v7.3 Documentation
Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid Namespace / DataGridBindingInfo Class / ValidationRules Property
Example


In This Topic
    ValidationRules Property
    In This Topic
    Gets a collection of rules that will be used to validate user input.
    Syntax
    'Declaration
     
    Public ReadOnly Property ValidationRules As Collection(Of ValidationRule)
    'Usage
     
    Dim instance As DataGridBindingInfo
    Dim value As Collection(Of ValidationRule)
     
    value = instance.ValidationRules
    public Collection<ValidationRule> ValidationRules {get;}

    Property Value

    A collection of ValidationRule objects that will be used to validate user input.
    Example
    All examples in this topic assume that the grid is bound to a list of Composer objects, unless stated otherwise.
    The following example demonstrates how to create a custom ValidationRule and apply it to a column's binding to provide binding-level validation.Implementation of the YearValidationRule validation rule.Implementation of the YearValidationRule validation rule.
    <Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
         xmlns:local="clr-namespace:Xceed.Wpf.Documentation">
      <Grid.Resources>
         <xcdg:DataGridCollectionViewSource x:Key="cvs_composers"
                                            Source="{Binding Source={x:Static Application.Current}, 
                                                             Path=Composers}"/>
      </Grid.Resources>
     
      <xcdg:DataGridControl ItemsSource="{Binding Source={StaticResource cvs_composers}}"
                            UpdateSourceTrigger="RowEndingEdit">
         <xcdg:DataGridControl.Columns> 
           <xcdg:Column FieldName="BirthYear">
              <xcdg:Column.DisplayMemberBindingInfo>
                 <xcdg:DataGridBindingInfo Path="BirthYear">
                    <xcdg:DataGridBindingInfo.ValidationRules>
                       <local:YearValidationRule />
                    </xcdg:DataGridBindingInfo.ValidationRules>
                 </xcdg:DataGridBindingInfo>
              </xcdg:Column.DisplayMemberBindingInfo>
           </xcdg:Column>
    
           <xcdg:Column FieldName="DeathYear">
              <xcdg:Column.DisplayMemberBindingInfo>
                 <xcdg:DataGridBindingInfo Path="DeathYear">
                    <xcdg:DataGridBindingInfo.ValidationRules>
                       <local:YearValidationRule />
                    </xcdg:DataGridBindingInfo.ValidationRules>
                 </xcdg:DataGridBindingInfo>
              </xcdg:Column.DisplayMemberBindingInfo>
           </xcdg:Column>      
        </xcdg:DataGridControl.Columns>
      </xcdg:DataGridControl>
    </Grid>
    Imports System
    Imports System.Windows.Controls
    Imports System.Globalization
    Namespace Xceed.Wpf.Documentation
    
      Public Class YearValidationRule
                   Inherits ValidationRule
    
        Public Overrides Function Validate( ByVal value As Object, _
                                            ByVal cultureInfo As CultureInfo ) As ValidationResult
          Dim year As Integer = CInt( value )
          If year > DateTime.Now.Year Then
            Return New ValidationResult( False, "Chosen year cannot be greater than this year." )
          End If
          Return ValidationResult.ValidResult
        End Function
      End Class
    End Namespace
    using System;
    using System.Windows.Controls;
    using System.Globalization;
    namespace Xceed.Wpf.Documentation
    {
    
     public class YearValidationRule : ValidationRule
     {
       public override ValidationResult Validate( object value, CultureInfo cultureInfo )
       {
         int year = ( int )value;
         if( year > DateTime.Now.Year )
           return new ValidationResult( false, "Chosen year cannot be greater than this year." );
         return ValidationResult.ValidResult;
       }
     }
    }
    Requirements

    Target Platforms: Windows 11, Windows, 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also