ValidationRule.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Controls / ValidationRule.cs / 1 / ValidationRule.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) 2003 by Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: 
//      ValidationRule is a member of ValidationRules Collection.
//      ValidationRulesCollection is a collection of ValidationRule 
//      instances on either a Binding or a MultiBinding.  Each of the ValidationRules'
//      Validate is checked for validity on update
//
// 
// See specs at http://avalon/connecteddata/Specs/Validation.mht
// 
// History: 
//  5/3/2004       mharper: created.
// 
//---------------------------------------------------------------------------


using System; 
using System.Globalization;
 
namespace System.Windows.Controls 
{
    ///  
    ///      ValidationRule is a member of ValidationRules Collection.
    ///      ValidationRulesCollection is a collection of ValidationRule
    ///      instances on either a Binding or a MultiBinding.  Each of the ValidationRules'
    ///      Validate is checked for validity on update 
    /// 
    public abstract class ValidationRule 
    { 
        /// 
        /// Initialize a new instance of ValidationRule. 
        /// 
        //

 

        protected ValidationRule() : this(ValidationStep.RawProposedValue, false) 
        { 
        }
 
        /// 
        /// Initialize a new instance of ValidationRule with the given validation
        /// step and target-update behavior.
        ///  
        protected ValidationRule(ValidationStep validationStep, bool validatesOnTargetUpdated)
        { 
            _validationStep = validationStep; 
            _validatesOnTargetUpdated = validatesOnTargetUpdated;
        } 

        /// 
        /// Validate is called when Data binding is updating
        ///  
        public abstract ValidationResult Validate(object value, CultureInfo cultureInfo);
 
        ///  
        /// The step at which the rule should be called.
        ///  
        public ValidationStep ValidationStep
        {
            get { return _validationStep; }
            set { _validationStep = value; } 
        }
 
        ///  
        /// When true, the validation rule is also called during source-to-target data
        /// transfer.  This allows invalid data in the source to be highlighted 
        /// as soon as it appears in the UI, without waiting for the user to edit it.
        /// 
        public bool ValidatesOnTargetUpdated
        { 
            get { return _validatesOnTargetUpdated; }
            set { _validatesOnTargetUpdated = value; } 
        } 

        ValidationStep  _validationStep; 
        bool            _validatesOnTargetUpdated;
    }
}
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) 2003 by Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: 
//      ValidationRule is a member of ValidationRules Collection.
//      ValidationRulesCollection is a collection of ValidationRule 
//      instances on either a Binding or a MultiBinding.  Each of the ValidationRules'
//      Validate is checked for validity on update
//
// 
// See specs at http://avalon/connecteddata/Specs/Validation.mht
// 
// History: 
//  5/3/2004       mharper: created.
// 
//---------------------------------------------------------------------------


using System; 
using System.Globalization;
 
namespace System.Windows.Controls 
{
    ///  
    ///      ValidationRule is a member of ValidationRules Collection.
    ///      ValidationRulesCollection is a collection of ValidationRule
    ///      instances on either a Binding or a MultiBinding.  Each of the ValidationRules'
    ///      Validate is checked for validity on update 
    /// 
    public abstract class ValidationRule 
    { 
        /// 
        /// Initialize a new instance of ValidationRule. 
        /// 
        //

 

        protected ValidationRule() : this(ValidationStep.RawProposedValue, false) 
        { 
        }
 
        /// 
        /// Initialize a new instance of ValidationRule with the given validation
        /// step and target-update behavior.
        ///  
        protected ValidationRule(ValidationStep validationStep, bool validatesOnTargetUpdated)
        { 
            _validationStep = validationStep; 
            _validatesOnTargetUpdated = validatesOnTargetUpdated;
        } 

        /// 
        /// Validate is called when Data binding is updating
        ///  
        public abstract ValidationResult Validate(object value, CultureInfo cultureInfo);
 
        ///  
        /// The step at which the rule should be called.
        ///  
        public ValidationStep ValidationStep
        {
            get { return _validationStep; }
            set { _validationStep = value; } 
        }
 
        ///  
        /// When true, the validation rule is also called during source-to-target data
        /// transfer.  This allows invalid data in the source to be highlighted 
        /// as soon as it appears in the UI, without waiting for the user to edit it.
        /// 
        public bool ValidatesOnTargetUpdated
        { 
            get { return _validatesOnTargetUpdated; }
            set { _validatesOnTargetUpdated = value; } 
        } 

        ValidationStep  _validationStep; 
        bool            _validatesOnTargetUpdated;
    }
}
 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK