MVC校验特性

1、前端引入3个脚本

      ①jq脚本   ②jQuery.Validate.js  ③jquery.validate.unobtrusive.js(异步验证)

2、后端加特性

  在表对应的Model层里面,为属性加特性,常用的特性:

    [Required]表示该属性是必须要填的,不能为null。

    [StringLength]可以限制属性的长度大小。

    [Range]、[RegularExpression]

3、后端使用方法

   使用ErrorMessage自定义错误提示信息,要引入命名空间using System.ComponentModel.DataAnnotations。

[Required(ErrorMessage = "角色名称不能为空")]
[StringLength(10, MinimumLength = 2, ErrorMessage = "角色名称{2}~{1}个字符")]

4、前端使用方法

   前端为了能够显示错误信息,使用Html.ValidationMessageFor(m => m.Name) 来显示,表示为Name属性显示错误信息。

    增加完特性,前端代码input标签里面会出现data-val="true" data-val-required="名字不能为空",这2个属性。

   通过查看页面源代码比较得知,只要在前端为input标签加入下面属性以及span标签(目的是显示错误信息),不需要在后端加[Required]特性也可以实现同样的效果。

此时注意input要加name属性,span标签中的data-valmsg-for要用到。

<input type="text"  name="name2" data-val="true" data-val-required="名字不能为空" /><span class="field-validation-valid" data-valmsg-for="name2" data-valmsg-replace="true"></span>

5、顺便说下@Html.DisplayNameFor(..)

   在后端为属性加[Display(Name = "测试")]这个特性,前端就可以使用Html.DisplayNameFor显示label标签。

注意:前端的代码要放在表单里面,只有在点击提交的时候才会检测,当不符合要求时,表单不会提交,这是会出现错误信息。

时间: 2024-10-11 05:48:12

MVC校验特性的相关文章

MVC常用特性

MVC常用特性使用 简介 在以前的文章中,我和大家讨论如何用SingalR和数据库通知来完成一个消息监控应用. 在上一篇文章中,我介绍了如何在MVC中对MongoDB进行CRUD操作. 今天,我将继续介绍一些在开发中非常有用的MVC特性,如下: BindAttribute Remote HandleError HiddenInput BindAttribute 使用BindAttribute的目的是限制用户在提交form表单时使用合适且正确的值.当我们提交一个表单时,就会检查每一个实体上绑定的特

ASP.NET MVC最新特性

问题: 既然我说对ASP.NET MVC很熟很懂,对新技术很感兴趣,那么问题是: 当前最新版MVC是什么?你用的哪个版本?相比前一个版本有什么新的特性? --- 答案:TBD 解析: 在面试的时候,为了争取面试官的好感,显示自己的自信,在显露自己在某个方面的能力的时候要小心,很可能为自己挖一个大坑,当然除非是你对这个真的很熟很懂,说到底还是要提高自己的能力和研究技术或问题的深度,否则不要轻易的去吹嘘,否则被戳破了会很难堪,下不了台,反而给面试官留下华而不实的印象:要记住面试官先天的会对你说的话,

mvc路由特性学习1

修改App_Start/RouteConfig.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace Web { public class RouteConfig { public static void RegisterRoutes(RouteCollecti

MVC笔记--特性路由

物性路由:将路由和控制器放在一起,这样更简单方便,还可以处理复杂的路由场景 传统路由:集中.强制.基于代码风格来定义的. 每个MVC应用程序都需要路由来定义自己的处理请求方式,路由是MVC是应用程序的入口点.我们先了解一下路由涉及的主要概念:路由定义是从URL模板开始的,因为它指定了与路由相匹配的模式.路由定义可以做为控制器类或操作方法的特性.路由可以指定的它的URL及其默认值,此外,它还可以约束URL的各个部分,提供关于路由如何及何时与传入的URL相匹配的严格控制. 创建一个MVC程序后,我们

MVC常用特性使用

简介 在以前的文章中,我和大家讨论如何用SingalR和数据库通知来完成一个消息监控应用. 在上一篇文章中,我介绍了如何在MVC中对MongoDB进行CRUD操作. 今天,我将继续介绍一些在开发中非常有用的MVC特性,如下: BindAttribute Remote HandleError HiddenInput BindAttribute 使用BindAttribute的目的是限制用户在提交form表单时使用合适且正确的值.当我们提交一个表单时,就会检查每一个实体上绑定的特性. 假设我们已经有

mvc Routing特性优化

在mvc中,Url地址是利用routing特性来支持,但是这个Routing有个问题,多个不同的地址和指向同一个action方法, 例如: http://test.com (默认) http://test.com/ (斜杠结尾) http://test.com/Home (带有Controller) http://test.com/Home/Action (带有Controller和Action) http://test.com/home/Action (不同的情况) 解决方法:通过使用注册全局

(Spring文档翻译)17.1.1 pring Web MVC的特性

Spring Web Flow的目标是成为管理web应用网页流的最好的解决方案. SWF集成了现有的框架像Spring MVC 和JSP,适用于Servlet和Porlet环境.如果你有一个业务流程,需要一个对话式的模型而不是单纯的请求模型,那么SWF可能就是解决方案. Spring的web模块包含了很多独立的web支持特性: 清晰的角色划分.每一个角色--controller,validator,command object,form object,model object, Dispatch

仿 MVC 三大特性

1.先做个小例子 特性,只能通过反射实现 我们自定义一个特性 public class CustomAttribute : Attribute { public int Id; public string Name; public string Reamrk; public string Desc; public CustomAttribute() : this(0, "") { }//如果没传参,使用this给默认值 public CustomAttribute(int _id, s

MVC校验

首先Model里面需要写好校验标签, 我的数据库中有个tblUserInfo表,其中有Id,UserName,,Age三个列,Id自动增长 Model添加UserInfo Class,在UserName和Age属性上方写上校验标签,需要using System.ComponentModel.DataAnnotations; 前台校验 后台校验只需要添加一句话if(ModelState.IsValid)//判断是否校验成功