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(, MinimumLength = , 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标签。

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

MVC校验特性的更多相关文章

  1. MVC常用特性

    MVC常用特性使用   简介 在以前的文章中,我和大家讨论如何用SingalR和数据库通知来完成一个消息监控应用. 在上一篇文章中,我介绍了如何在MVC中对MongoDB进行CRUD操作. 今天,我将 ...

  2. ASP.NET MVC最新特性

    问题: 既然我说对ASP.NET MVC很熟很懂,对新技术很感兴趣,那么问题是: 当前最新版MVC是什么?你用的哪个版本?相比前一个版本有什么新的特性? 解析: 在面试的时候,为了争取面试官的好感,显 ...

  3. MVC 校验

    校验保障了MVC 应用程序安全性. Models 文件夹包含表示应用程序模型的类 1,创建一个项目MvcValidateDemo. 2,创建一个实体类UserInfo在Models中,包含Id.Use ...

  4. mvc Routing特性优化

    在mvc中,Url地址是利用routing特性来支持,但是这个Routing有个问题,多个不同的地址和指向同一个action方法, 例如: http://test.com (默认) http://te ...

  5. 关于MVC的特性(AuthorizeAttribute)的一些理解

    许多 Web 应用程序要求在用户登录之后才授予其对受限制内容的访问权限. 在某些应用程序中,即使是登录的用户,也会限制他们可以查看的内容或可以编辑的字段. 要限制对 ASP.NET MVC 视图的访问 ...

  6. .NET [MVC] 利用特性捕捉异常

    声明:本代码只适用于.NET MVC. 先创建一个类继承ActionFilterAttribute这个抽象类以及实现IExceptionFilter接口,并实现它的方法OnException. 代码如 ...

  7. .NET Core[MVC] 利用特性捕捉异常

    声明:本方式适用于MVC.本代码只适用于.NET Core MVC. 先创建一个类继承ExceptionFilterAttribute这个抽象类,并override它的方法OnException. 代 ...

  8. MVC校验方式【六】

    一.以往的校验都是自己写正则表达式校验,本篇讲的是通过MVC自带的jquery文件进行校验 实现步骤:1. 在webform页面中引入两个jquery文件,10,11行的代码. <%@ Page ...

  9. MVC笔记--特性路由

    物性路由:将路由和控制器放在一起,这样更简单方便,还可以处理复杂的路由场景 传统路由:集中.强制.基于代码风格来定义的. 每个MVC应用程序都需要路由来定义自己的处理请求方式,路由是MVC是应用程序的 ...

随机推荐

  1. 1109HTML学习

    <div><!--face里面用逗号隔开表示 字体优先选择.size是字体1到7 --><font color="red" face="微软 ...

  2. Docker容器环境下ASP.NET Core Web API

    Docker容器环境下ASP.NET Core Web API应用程序的调试 本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Dock ...

  3. iOS推送 再备

    这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 ...

  4. 转:Gulp的目标是取代Grunt

    原文来自于:http://www.infoq.com/cn/news/2014/02/gulp Fractal公司积极参与了数个流行Node.js模块的开发,它最近发布了一个新的构建系统gulp,希望 ...

  5. ural 1203. Scientific Conference

    http://acm.timus.ru/problem.aspx?space=1&num=1203 #include <cstdio> #include <cstring&g ...

  6. PullToRefreshListView 内嵌checkbox 数据丢失问题

    在PullToRefreshListView 内部内嵌了Checkbox如下图所示: 原本设计思路是:对CheckBox 进行 setOnCheckedChangeListener 监听 当Check ...

  7. 【HDOJ】1493 QQpet exploratory park

    超水的动态规划.最后要对概率求Sigma. #include <cstdio> #include <cstring> #include <cstdlib> #def ...

  8. 深入理解C#第二版笔记

    基础知识 委托 如果代码想要执行操作,但不知道操作细节,一般可以使用委托.例如:Thread类之所以知道要在一个新线程里运行什么,唯一的原因就是在启动新线程时,向它提供了一个ThreadStart委托 ...

  9. openstacks

  10. 日积月累:EditText软键盘的显示和隐藏

    在工作过程中,常常会遇见需要根据自己的需求,控制文本框的键盘显示和隐藏. 通过查阅Android文档,介绍可以通过在清单文件中<activity>元素中添加android:windowSo ...