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.营造积极友善的工作氛围,哪怕吹点善意的牛
  • 相关阅读:
    【Boost】boost库asio详解5——resolver与endpoint使用说明
    VS路径定义
    C++ Primer 第二章 学习笔记
    C++ Primer 第三章 学习笔记
    C++ dll的隐式与显式调用
    BOOST编译方法
    Real World CTF一日游
    蝉知CMS5.6反射型XSS审计复现
    关于MJ刷新的报Too many arguments to function call, expected 0, have *问题
    XIB做适配(二)
  • 原文地址:https://www.cnblogs.com/i-blog/p/3519331.html
Copyright © 2011-2022 走看看