示例#1
0
        /// <summary>
        /// Perform RequiredField Validation on a specific control.
        /// </summary>
        /// <param name="ctrl"></param>
        /// <returns></returns>
        private ValidationRule RequiredFieldValidate(Control ctrl)
        {
            ValidationRule vr = _ValidationRules[ctrl] as ValidationRule;

            if (vr != null && vr.IsRequired)
            {
                ValidationRule vr2 = new ValidationRule();
                vr.IsValid = !ValidationRule.Compare(ctrl.Text, vr.InitialValue, ValidationCompareOperator.Equal, vr);
            }

            return(vr);
        }
示例#2
0
        /// <summary>
        /// Perform RequiredField Validation on a specific control.
        /// </summary>
        /// <param name="ctrl"></param>
        /// <returns></returns>
        private ValidationRule RequiredFieldValidate(Control ctrl)
        {
            ValidationRule vr = _ValidationRules[ctrl] as ValidationRule;

            if (vr != null && vr.IsRequired)
            {
                ValidationRule vr2 = new ValidationRule();
                vr.IsValid = !ValidationRule.Compare(this.GetValueFromCtrl(ctrl), vr.InitialValue, ValidationCompareOperator.Equal, vr);
                //add by rad 2011/8/22
                vr.IsRequiredFieldError = !vr.IsValid;
            }

            return(vr);
        }
示例#3
0
        /// <summary>
        /// Perform CompareValidate on a specific control.
        /// </summary>
        /// <param name="ctrl"></param>
        /// <returns>true if control has no validation rule.</returns>
        private ValidationRule CompareValidate(Control ctrl)
        {
            ValidationRule vr = _ValidationRules[ctrl] as ValidationRule;

            if (vr != null)
            {
                if (this._DefaultValidationRule.ValueToCompare.Equals(vr.ValueToCompare) &&
                    this._DefaultValidationRule.Operator.Equals(vr.Operator))
                {
                    return(vr);
                }

                vr.IsValid = ValidationRule.Compare(ctrl.Text, vr.ValueToCompare, vr.Operator, vr);
            }

            return(vr);
        }
示例#4
0
        /// <summary>
        /// Set validation rule.
        /// </summary>
        /// <param name="inputComponent"></param>
        /// <param name="vr"></param>
        public void SetValidationRule(object inputComponent, ValidationRule vr)
        {
            if (inputComponent != null)
            {
                // only throw error in DesignMode
                if (base.DesignMode)
                {
                    if (!this.CanExtend(inputComponent))
                    {
                        throw new InvalidOperationException(inputComponent.GetType().ToString()
                                                            + " is not supported by the validation provider.");
                    }

                    if (!this.IsDefaultRange(vr) &&
                        ValidationRule.Compare(vr.MinimumValue, vr.MaximumValue, ValidationCompareOperator.GreaterThanEqual, vr))
                    {
                        throw new ArgumentException("MinimumValue must not be greater than or equal to MaximumValue.");
                    }
                }

                ValidationRule vrOld = this._ValidationRules[inputComponent] as ValidationRule;

                // if new rule is valid and in not DesignMode, clone rule
                if ((vr != null) && !base.DesignMode)
                {
                    vr = vr.Clone() as ValidationRule;
                }


                if (vr == null) // if new is null, no more validation
                {
                    this._ValidationRules.Remove(inputComponent);
                }
                else if (vrOld == null)
                {
                    this._ValidationRules.Add(inputComponent, vr);
                }
                else if ((vr != null) && (vrOld != null))
                {
                    this._ValidationRules[inputComponent] = vr;
                }
            }
        }
示例#5
0
        /// <summary>
        /// Perform Range Validation on specific control.
        /// </summary>
        /// <param name="ctrl"></param>
        /// <returns></returns>
        private ValidationRule RangeValidate(Control ctrl)
        {
            ValidationRule vr = _ValidationRules[ctrl] as ValidationRule;

            if (vr != null)
            {
                if (this.IsDefaultRange(vr))
                {
                    return(vr);
                }

                vr.IsValid = ValidationRule.Compare(ctrl.Text, vr.MinimumValue, ValidationCompareOperator.GreaterThanEqual, vr);

                if (vr.IsValid)
                {
                    vr.IsValid = ValidationRule.Compare(ctrl.Text, vr.MaximumValue, ValidationCompareOperator.LessThanEqual, vr);
                }
            }
            return(vr);
        }