学习笔记:ASP.NET MVC2 之验证
大家好,最近忙于工作,现在又有空闲了,现在一起来温习一下ASP.NET MVC 2 的Validation功能。
ASP.NET MVC2 支持2种验证模式,一种是前端验证,一种是服务端验证。我们一般做项目都是2种一起用的。先使用前端验证的好处毋庸置疑,因为它是在客户端执行的,它会把错误消息直接反馈给客户而无须经过服务器的处理,这样就节省了服务器宝贵的资源。而之后的服务器验证呢,又能保证数据的严格符合规格。
第一步:好,我们先来建立一个叫做Order的Model。
namespace MvcApplication1.Models
{
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
public class Order
{
[Required(ErrorMessage = "First Name is required")]
[DisplayName("First Name")]
[StringLength(160)]
public string FirstName { get; set; }
[Required(ErrorMessage = "Last Name is required")]
[DisplayName("Last Name")]
[StringLength(160)]
public string LastName { get; set; }
[Required(ErrorMessage = "Address is required")]
[StringLength(70)]
public string Address { get; set; }
}
}在这个Model里面,这些Required,StringLength代表的就是你的验证规则。比较详细的验证规则见以下列表:
Range – 是你的数据是不是在某一个范围内的意思。 ReqularExpression – 是你的数据是不是符合某一个正则表达式的意思 Required – 要求你的数据必须是非空的 StringLength – 要求你的字符串的长度必须小于或等于某一个值 代码中的ErrorMessage表示显示在页面上的错误信息。
你甚至可以写一个自定义的验证类,比如一个简单的例子,我需要让FirstName这个字段必须不以下划线开头,我们可以这么写:
首先创建一个类,叫做FirstNameAttribute,它必须继承ValidationAttribute这个类。
namespace MvcApplication1.Models
{
using System.ComponentModel.DataAnnotations;
public class FirstNameAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
if (value == null)
return false;
if (value.ToString().StartsWith("_"))
return false;
return true;
}
}
}然后我们就能在FirstName这个字段上加上一个约束的规则。
[Required(ErrorMessage = "First Name is required")]
[DisplayName("First Name")]
[StringLength(160)]
[FirstName(ErrorMessage="First Name cant start with "_"")]
public string FirstName { get; set; }
第二步:我们现在来建立一个View。
<%@ Page Title="" Language="C#" MasterPageFile<补充:Web开发 , ASP.Net ,
- 更多asp疑问解答:
- asp正则过滤重复字符串的代码
- 用asp过滤全部html但保留br类似的符号
- 会asp,但感觉asp要过点,想学php。但我一般做的都是小公司的站,用access数
- PHP的空间可以用ASP的源代码吗?
- 以前做asp程序,现在应该怎样发展?是学.net还是php
- 以前做asp程序,现在应该怎样发展?是学.net还是php
- 想做一个市级的人才网acess,sql数据库,语言asp,jsp,php分别用哪种好
- jsp,asp,php 区别
- 我想找一个有比较多漏洞的网站的源码,比如可以asp,php注入等都可以。供学习研究用。请提供下载地址。。
- 现在候找人做个网站,用ASP,还是PHP语言去做好
- asp,php ,jsp,.net 对于做网站前台的重要吗?
- asp和php的区别是什么?
- 我是新手SEO菜鸟 请问wp dw php asp cms myspl dede 这些软件应该如何区分呀?
- 网页制作相关的三种语言:ASP JSP PHP那个好点,简单点?
- 网页制作相关的三种语言:ASP JSP PHP那个好点,简单点?
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,