private bool Validate(ControlValidationInfo validationInfo) { if (validationInfo == null) { return(true); } object value = ControlValueReader.Read(validationInfo.Control, typeof(object)); string message = string.Empty; foreach (var validator in validationInfo.Validators) { if (!validator.Validate(value, ref message)) { errorNotifier.ShowError(validationInfo.Control, message); if (validationInfo.Control.CanFocus) { validationInfo.Control.Focus(); } return(false); } } return(true); }
/// <summary> /// 对于指定的控件添加验证器 /// </summary> /// <param name="control">需要添加验证器的控件</param> /// <param name="validators">控件验证器集合</param> /// <returns></returns> public ValidatorManager Add(Control control, params Validator[] validators) { var validationInfo = validationInfos.FirstOrDefault(v => v.Control == control); if (validationInfo == null) { validationInfo = new ControlValidationInfo(control); validationInfos.Add(validationInfo); } validationInfo.Validators.AddRange(validators); return(this); }