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