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(, 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校验特性的更多相关文章
- MVC常用特性
MVC常用特性使用 简介 在以前的文章中,我和大家讨论如何用SingalR和数据库通知来完成一个消息监控应用. 在上一篇文章中,我介绍了如何在MVC中对MongoDB进行CRUD操作. 今天,我将 ...
- ASP.NET MVC最新特性
问题: 既然我说对ASP.NET MVC很熟很懂,对新技术很感兴趣,那么问题是: 当前最新版MVC是什么?你用的哪个版本?相比前一个版本有什么新的特性? 解析: 在面试的时候,为了争取面试官的好感,显 ...
- MVC 校验
校验保障了MVC 应用程序安全性. Models 文件夹包含表示应用程序模型的类 1,创建一个项目MvcValidateDemo. 2,创建一个实体类UserInfo在Models中,包含Id.Use ...
- mvc Routing特性优化
在mvc中,Url地址是利用routing特性来支持,但是这个Routing有个问题,多个不同的地址和指向同一个action方法, 例如: http://test.com (默认) http://te ...
- 关于MVC的特性(AuthorizeAttribute)的一些理解
许多 Web 应用程序要求在用户登录之后才授予其对受限制内容的访问权限. 在某些应用程序中,即使是登录的用户,也会限制他们可以查看的内容或可以编辑的字段. 要限制对 ASP.NET MVC 视图的访问 ...
- .NET [MVC] 利用特性捕捉异常
声明:本代码只适用于.NET MVC. 先创建一个类继承ActionFilterAttribute这个抽象类以及实现IExceptionFilter接口,并实现它的方法OnException. 代码如 ...
- .NET Core[MVC] 利用特性捕捉异常
声明:本方式适用于MVC.本代码只适用于.NET Core MVC. 先创建一个类继承ExceptionFilterAttribute这个抽象类,并override它的方法OnException. 代 ...
- MVC校验方式【六】
一.以往的校验都是自己写正则表达式校验,本篇讲的是通过MVC自带的jquery文件进行校验 实现步骤:1. 在webform页面中引入两个jquery文件,10,11行的代码. <%@ Page ...
- MVC笔记--特性路由
物性路由:将路由和控制器放在一起,这样更简单方便,还可以处理复杂的路由场景 传统路由:集中.强制.基于代码风格来定义的. 每个MVC应用程序都需要路由来定义自己的处理请求方式,路由是MVC是应用程序的 ...
随机推荐
- pdf转图片
public class FileUtil { public static void main(String[] args) { try { System.out.println(System.cur ...
- TOP 100 MISSPELT/MISSPELLED WORDS IN ENGLISH
acceptable accidentally accommodate acquire acquit a lot amateur apparent argument atheist believe ...
- Calling a Web API From a .NET Client (C#)
on|January 20, 2014 1760 of 2013 people found this helpful Print Download Completed Project This tut ...
- PullToRefreshListView 内嵌checkbox 数据丢失问题
在PullToRefreshListView 内部内嵌了Checkbox如下图所示: 原本设计思路是:对CheckBox 进行 setOnCheckedChangeListener 监听 当Check ...
- iOS 9之Shared Links Extension(Safari Extensibility)
金田 (github示例源码) 在之前的Blog中有介绍了关于Safari Extensibility的 Content Blocking部分,详情可以看这里 --- iOS 9之Safari广告拦截 ...
- 精美实用的jQuery插件精选
jQuery的确是一款相当强大的Javascript框架,同时jQuery的插件就多入牛毛,如果你善于收集,那么你在写前端页面的时候肯定会更加方便.本文精选了一些精美实用的jQuery插件供大家参考. ...
- cocos2d-x游戏开发(十七)NDK+ant编译暗黑世界
个人原创,欢迎转载http://blog.csdn.net/dawn_moon/article/details/12308967 9秒论坛的客户端暗黑世界,ios已经跑过了,今天搞了一下安卓的,记录一 ...
- JS-异常处理
自定义异常: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...
- 博客换了,比较少用这个博客(http://loid.cf)
新博客地址: http://loid.cf/
- 加上固件密码,Mac更安全
在Mac OS X中,管理员密码非常重要,在修改系统参数或安装软件时都要求输入密码,这避免了绝大部分的破坏性误操作和恶意程序(尽管Mac上恶意程序本来就少的可怜). 但是对Mac OS X比较熟悉的人 ...