zoukankan      html  css  js  c++  java
  • mvc模型验证

     自定义的ValidationAttribute类,

    Compare

      [Compare("MyOtherProperty")] 两个属性必须相同值,比如我们要求用户重复输入两次邮件地址时有用
    Range [Range(10, 20)]  属性值必须在指定的数值范围内,可以使用数值类型的最大最小值比如int.MinValue、int.MaxValue
    RegularExpression [RegularExpression("pattern")]  字符串值必须匹配正则表达式,默认大小写敏感,可以使用(?i)修饰符关闭大小写敏感,比如[RegularExpression("(?i)mypattern")]
    Required [Required] 属性值必须非空或者不能只是空格,如果允许全空格可以[Required(AllowEmptyStrings = true)]
    StringLength [StringLength(10)]  字符串长度不能超过给定的最大长度,也可以指定最小长度:[StringLength(10, MinimumLength=2)]

    public class MyValiueAttribute:ValidationAttribute
        {
            public MyValiueAttribute()
            {
                
            }
            protected override ValidationResult IsValid(object value, ValidationContext validationContext)
            {
                return base.IsValid(value, validationContext);
            }
        }

    直接在实体模型的属性上加验证特性,

    在后台直接通过ModelState。isvalid验证

    ModelState.IsValidField()检查模型绑定器能否成功绑定“Date”属性(ModelState.IsValidField(“data”)对实体类型的data属性进行判断),如果数据不合法使用ModelState.AddModelError()添加错误消息。如果没有任何错误,ModelState.IsValid=true,我们可以继续正常操作,否则返回数据输入界面。

    validateinput(false ) 取消危险字符验证,比如尖括号

  • 相关阅读:
    内容生成器.计数器及多列
    STT-MTJ(自旋转移矩磁隧道结)模型的Verilog-A语言描述(仅参考)
    将进酒-唐·李白
    三十六计、孙子兵法
    Keil新建工程步骤
    No.6 Verilog 其他论题
    2-4 Numpy+Matplotlib可视化(二)
    2-3 Numpy+Matplotlib可视化(一)
    0-0 列表,元组,字典,集合
    2-2 Numpy-矩阵
  • 原文地址:https://www.cnblogs.com/raorao1994/p/6163934.html
Copyright © 2011-2022 走看看