/// <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); }
/// <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); }
/// <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); }
/// <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; } } }
/// <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); }