MVC校验有两种方法:

方法一:自己动手写js---------略

方法二:

l在View的页面中,首先指定页面强类型@model 类型
l使用Html.***For(model=>model.Property)生成表单,这些表单元素中就会包含校验规则属性
l引用jquery、jquery校验、jquery隐式校验3个组件
l通过Html.EnableClientValidation(true);控制客户端验证的启用与禁用(mvc3中自动开启)
l使用Html.ValidationMessageFor(…)显示校验信息,也可以使用Html.ValidationSummary()统一显示
l点击提交按钮转到后台Action,使用ModelState.IsValid判断前台验证是否成功,如果返回true表示验证成功
 

准备工作----导入三个必备的js包

<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>

验证方式:

在Model中创建类型,用于在View中作为强类型页面的类型
.NET 框架中System.ComponentModel.DataAnnotations命名空间包括了众多可用的内置验证特性,用于修饰属性,常用的四个如下:
•[Required]--非空验证
•[StringLength]---字符长度验证
•[Range]--范围验证
•[RegularExpression]--正则表达式验证
•属性ErrorMessage:指定错误提示信息
注:提示信息要在实体类中的属性中写
例题:
<head>
<meta name="viewport" content="width=device-width" />
<title>Person</title>
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
</head>
<body>
<div>
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@:姓名:@Html.TextBoxFor(p=>p.Name)
@Html.ValidationMessageFor(p=>p.Name)//一定记住绑定确认信息,要不然不显示,建议在文本框之后写,这样提示信息也会在文本框之后显示
<br />
@:年龄:@Html.TextBoxFor(p=>p.Age)
@Html.ValidationMessageFor(p=>p.Age)
<br />
<input type="submit" />
}
</div>
</body>

实体类中也要绑定好属性--一般在属性之上写

public class Person
{
[Required(ErrorMessage="<span style='color:red'>*姓名不能为空</span>")]
[StringLength(, ErrorMessage = "<span style='color:red'>名字长度不能超过六位</span>")]
public string Name { get; set; }
[Required(ErrorMessage = "<span style='color:red'>*年龄不能为空</span>")]
[Range(, , ErrorMessage = "<span style='color:red'>*年龄需在18-160之间</span>")]
public int Age { get; set; }
}
 
 

MVC学习Day02之校验的更多相关文章

  1. MVC学习Day02

    MVC中的异步请求: 方法一:使用jQuery封装的函数(例子中用的是post请求,$("#form1").serialize()讲表单中的数据序列化提交给服务端)---返回的是纯 ...

  2. MVC学习笔记索引帖

    [MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现 [MVC学习笔记]2.使用T4模板生成其他类的具体实现 [MVC学习笔记]3.使用Spring.Net应用IOC(依赖倒置) [MVC学习 ...

  3. Spring MVC 学习总结(十)——Spring+Spring MVC+MyBatis框架集成(IntelliJ IDEA SSM集成)

    与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和 ...

  4. .NET MVC 学习笔记(五)— Data Validation

    .NET MVC 学习笔记(五)—— Data Validation 在实际应用中,我们需要对数据进行增查改删业务,在添加和修改过程中,无论你编写什么样的网页程序,都需要对用户的数据进行验证,以确数据 ...

  5. Spring MVC学习总结

    Spring MVC学习总结 Spring MVC学习路(一) 下载配置文件 Spring MVC学习路(二) 设置配置文件 Spring MVC学习路(三) 编写第一个demo Spring MVC ...

  6. MVC学习系列4--@helper辅助方法和用户自定义HTML方法

    在HTML Helper,帮助类的帮助下,我们可以动态的创建HTML控件.HTML帮助类是在视图中,用来呈现HTML内容的.HTML帮助类是一个方法,它返回的是string类型的值. HTML帮助类, ...

  7. Spring MVC 学习 -- 创建过程

    Spring MVC 学习 -- 创建过程 Spring MVC我们使用的时候会在web.xml中配置 <servlet> <servlet-name>SpringMVC< ...

  8. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  9. 《Spring MVC学习指南》怎么样?答:书名具有很大的欺骗性

    2016年6月21日 最近,因为工作需要,我从网上买了一本<Spring MVC学习指南>,ISBN编号: 978-7-115-38639-7,定价:49.00元.此书是[美]Paul D ...

随机推荐

  1. 伪多项式时间算法Pseudo-polynomial Algorithms-----geeksforGeek 翻译

    原创翻译加学习笔记,方便国人学习算法知识! 原文链接http://www.geeksforgeeks.org/pseudo-polynomial-in-algorithms/ 什么是伪多项式? 当一个 ...

  2. javascript/jquery键盘事件介绍

    一.首先需要知道的是:1.keydown()keydown事件会在键盘按下时触发.2.keyup()keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件3.keypress()keypres ...

  3. UVALive 6093 Emergency Room --优先队列实现的模拟

    题意:给n个医生,这些医生有一个上班时间,然后给一些病人,病人有一个到达的时间,以及一些诊断,诊断有property(优先级)和duration(诊断时间)这两个属性,每个病人可能要诊断多次,最后问每 ...

  4. java 20 - 7 字节输入流的操作

    字节输入流操作步骤: A:创建字节输入流对象 B:调用read()方法读取数据,并把数据显示在控制台 C:释放资源 步骤A.C 略过,说步骤B  读取数据的方式:  A:int read():一次读取 ...

  5. man 在线手册

    http://man7.org/linux/man-pages/man3/fwrite.3.html

  6. Vernam密码

    Vernam加密法也称一次一密(One-Time-Pad),用随机的非重复的字符集合作为输出密文.这里最重要的是,一旦使用了变换的输入密文,就不再在任何其他消息中使用这个输入密文(因此是一次性的).输 ...

  7. 12SpringMvc_在业务控制方法中写入普通变量收集参数

    这篇文章讲的是jsp页面不是会传一些参数到Action中,那么Action怎么去接受这个数据呢? 方案: 案例结构如下:

  8. 泛型类型的协变(covariant)和逆变

    官网:http://msdn.microsoft.com/zh-cn/library/dd799517.aspx 原文链接:http://book.51cto.com/art/201112/30857 ...

  9. 利用ViewHolder优化自定义Adapter的典型写法

    1 public class MarkerItemAdapter extends BaseAdapter { private Context mContext = null; private List ...

  10. 挖Linux中的古老缩略语

    [2005-06-22 15:23][Nigel McFarlane][TechTarget] <<阅读原文>> Unix已经有35年历史了.许多人认为它开始于中世纪,这个中世 ...