zoukankan      html  css  js  c++  java
  • MVC Model 数据注解与验证

    常用验证特性:

    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    View Code

    [Required] 必填

    [StringLength(20)] 字符长度限制20

    [StringLength(255,MinimumLength=6)] 字符最长255,最短6

    [RegularExpression(@"^[1-9]d*$",ErrorMessage="请输入正整数")] 正则表达式

    [Range(0,1000)] 限定数值在0-1000

    using System.Web.Mvc;
    View Code

    [Remote("ActionName","ControllerName")] 服务器回调函数执行客户端验证逻辑,例如:登录名不得重复

    [Compare("PasswordConfirm")] 两个属性值相同,如:密码输入2次

    自定义错误提示及本地化:

    [Display(Name="用户名")] 将属性名称的友好名称

    [Required(ErrorMessage="{0}为必填项")] 其中{0}表示属性名称或被本地化的名称

    [Required(ErrorMessageResourceName="RoleName_Error",ErrorMessageResourceType=typeof(Resources)] 使用资源文件本地化,Resources为资源文件名,RoleName_Error 为资源文件中一个Name

    验证和模型绑定:

    1.在模型执行绑定时进行验证

    2.模型绑定默认隐式执行,使用控制器的UpdateModel或TryUpdateModel可以显示执行。

    验证和模型状态:

    模型状态不仅包含模型属性的所有值,而且包含其相关的错误信息。

    ModelState.IsValid==false

    ModelState.IsValidField("UserName")==false

    ModelState["UserName"].Errors.Count>0

    其他特性:

    [ScaffoldColumn(false)] 在EditorForModel和DisplayForModel的Html辅助方法渲染时,不会显示。

    [DisplayFormat(ApplyFormatInEditMode=true, DataFormatString="{0:c}")] 格式化字符,显示金额为2位小数。

    [ReadOnly(true)] 属性只读,但Html辅助仍会显示。【using System.ComponentModel】

    [DataType(DataType.EmailAddress)] 特定用途信息

    1.职业成功的85%取决于职业心态,15%取决于职业技能 2.不只是上级要你去做或等待别人要你去做 3.营造积极友善的工作氛围,哪怕吹点善意的牛
  • 相关阅读:
    使用JS实现复制粘贴功能
    前端向后端发送请求(FormData),你们不要吐槽我,有的时候我也不想写注释
    最全面的数组去重详细解析
    查找字符串数组中的最长公共前缀
    最简单的让多行表格滚动方法
    送给vue初学者的 vue.js技巧
    git 和码云的上传文件代码操作
    常用模块 二
    深拷贝与浅拷贝
    常用模块升级
  • 原文地址:https://www.cnblogs.com/i-blog/p/3519331.html
Copyright © 2011-2022 走看看