/// <summary> /// 获取属性的ValidBox /// </summary> /// <param name="property">属性</param> /// <param name="message">初始化提示消息</param> /// <returns></returns> private static ValidBox GetPropertyValidBox(PropertyInfo property, string message) { var validBox = ValidBox.Empty(message); // 值类型非空检测 if (property.PropertyType.IsValueType && Attribute.IsDefined(property, typeof(RequiredAttribute)) == false) { validBox = ValidBox.Request(null); } var boxs = Attribute.GetCustomAttributes(property, false) .Where(item => item is IValidRule) .Cast <IValidRule>() .OrderBy(item => item.OrderIndex) .Select(item => item.ToValidBox()); foreach (var box in boxs) { validBox = ValidBox.Merge(validBox, box); } // 数字类型输入检测 if (property.PropertyType.IsNumberType() == true) { validBox = ValidBox.Merge(validBox, ValidBox.New("number", null)); } return(validBox); }
/// <summary> /// 生成验证框对象 /// </summary> /// <returns></returns> public ValidBox ToValidBox() { return(ValidBox.Request(this.ErrorMessage)); }
/// <summary> /// 生成验证框对象 /// </summary> /// <returns></returns> public override ValidBox ToValidBox() { return(ValidBox.Request(this, this.ErrorMessage)); }