hutongqing
2024-11-20 0845150c79d1ebd664753931933e786ed8bd06c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace WIDESEA_Core.Attributes
{
    [AttributeUsage(AttributeTargets.Property)]
    public class PropertyValidateAttribute : Attribute
    {
        /// <summary>
        /// 最大值
        /// </summary>
        public int MaxValue { get; set; } = int.MaxValue;
 
        /// <summary>
        /// 最小值
        /// </summary>
        public int MinValue { get; set; } = int.MinValue;
 
        /// <summary>
        /// 非空
        /// </summary>
        public bool NotNullAndEmpty { get; set; } = true;
 
        /// <summary>
        /// 是否包含最大值
        /// </summary>
        public bool IsContainMaxValue { get; set; } = false;
 
        /// <summary>
        /// 是否包含最小值
        /// </summary>
        public bool IsContainMinValue { get; set; } = false;
 
        /// <summary>
        /// 根据其他属性非空判断当前是否为非空
        /// </summary>
        public string NotNullAndEmptyWithProperty { get; set; }
 
        /// <summary>
        /// 根据其他属性值判断当前是否为非空(格式【new string[]{ "属性名称", "属性值" }】)
        /// </summary>
        public string[] NotNullAndEmptyWithPropertyAndValue { get; set; }
 
        public string Description { get; set; }
 
        public PropertyValidateAttribute(string description)
        {
            if (!string.IsNullOrEmpty(description))
                Description = description;
        }
    }
 
    [AttributeUsage(AttributeTargets.Class)]
    public class ModelValidateAttribute : Attribute
    {
        public ModelValidateType ModelValidateType { get; } = ModelValidateType.SimpleValidate;
 
        public ModelValidateAttribute()
        {
        }
    }
 
    public enum ModelValidateType
    {
        SimpleValidate,
        CustomValidate,
        SimpleAndCustom
    }
}