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. DAC使用基本准则

    DAC Nyquist Zones, Zero Order Hold, and Images why do the Fout images exist in every Nyquist zone? W ...

  2. MIT jos 6.828 Fall 2014 训练记录(lab 2)

    注: 源代码参见我的github:https://github.com/YaoZengzeng/jos Part1 : Physical Page Management mem_init函数: /*该 ...

  3. 【读书笔记《Android游戏编程之从零开始》】13.游戏开发基础(Paint 画笔)

    1.Paint画笔 Panit(画笔)是绘图额辅助类,其类中包含文字和位图额样式.颜色等属性信息.Paint 的常用方法如下: setAntiAlias(boolean aa) 作用:设置画笔是否无锯 ...

  4. codeforces 709A A. Juicer(水题)

    题目链接: A. Juicer 题意: 给出n个橘子,汁漫出来了就倒出来,反正就是要求要倒几次; 思路: AC代码: #include <iostream> #include <cs ...

  5. Redis安全访问

    限制IP(只能一个) # If you want you can bind a single interface, if the bind option is not # specified all ...

  6. RDLC直接打印帮助类

    代码 /// <summary> /// 打印帮助类 /// </summary> public class PrintHelper { private int m_curre ...

  7. Android View.onMeasure方法的理解

    View在屏幕上显示出来要先经过measure(计算)和layout(布局).1.什么时候调用onMeasure方法? 当控件的父元素正要放置该控件时调用.父元素会问子控件一个问题,“你想要用多大地方 ...

  8. 好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    转载:http://www.cnblogs.com/lyhabc/p/3322437.html 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 这个工具主要就是 ...

  9. 敏捷软件开发 Agile software Development(转)

    原文链接: http://www.cnblogs.com/kkun/archive/2011/07/06/2099253.html 敏捷软件开发 Agile software Development ...

  10. 构建高转化率的着陆页-PS+HTML+网络营销

    课程简介 本课程是全网独家专业的着陆页课程,课程完整的再现了整个着陆页实战案例的开发过程,包括:策划.设计和实现.上线后的推广.优化及提高转化率的技巧等,本套课程能帮助您迅速掌握着陆页的能力,迅速洞察 ...