コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <summary>
 /// 生成验证框对象
 /// </summary>
 /// <returns></returns>
 public ValidBox ToValidBox()
 {
     return(ValidBox.Request(this.ErrorMessage));
 }
コード例 #3
0
ファイル: RequiredRule.cs プロジェクト: jackjet870/ValidBox
 /// <summary>
 /// 生成验证框对象
 /// </summary>
 /// <returns></returns>
 public override ValidBox ToValidBox()
 {
     return(ValidBox.Request(this, this.ErrorMessage));
 }