asp.net MVc 数据验证
asp.net mvc 之asp.net mvc 3.0 新特性之Model:
通过Data Annotations 与jQuery 的结合实现服务端和客户端的双重验证
双重验证中,使客户端实现远程的异步验证
自定义Data Annotations 与jQuery,以实现自定义的双重验证
示例
1、Model 中通过Data Annotations 与jQuery 的结合实现服务端和客户端的双重验证
Web.config
<configuration>
<!--
要实现服务端和客户端的双重验证,需要做如下配置,因为双重验证中的客户端验证需要依赖此配置
-->
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
</configuration>
User.cs
/*
* 在asp.net mvc 3.0 中支持通过Data Annotations 来实现服务端和客户端的双重验证,需要jQuery 的支持
* 所有Data Annotations 相关的Attribute 直接用类视图看System.ComponentModel.DataAnnotations 就行了,详细说明以前写过好多遍了,这里就不重复了
* 另外System.Web.Mvc 下有一些新增的Data Annotations
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
namespace MVC30.Models
{
public class User
{
public int ID { get; set; }
[DisplayName("名字")]
[Required(ErrorMessage = "名字不能为空")]
public string Name { get; set; }
[DisplayName("密码")]
[Required(ErrorMessage = "密码不能为空")]
public string Password { get; set; }
[DisplayName("确认密码")]
[Required(ErrorMessage = "确认密码不能为空")]
[Compare("Password", ErrorMessage="两次密码输入不一致")]
public string ConfirmPassword { get; set; }
public DateTime DateOfBirth { get; set; }
// 请求时,允许此字段包含HTML 标记
[AllowHtml]
public string Comment { get; set; }
}
}
ValidationDemoController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVC30.Models;
namespace MVC30.Controllers
{
public class ValidationDemoController : Controller
{
// 用于演示通过Data Annotations 实现服务端和客户端的双重验证
public ActionResult Validation_DataAnnotations()
 
- 发表评论
-
- 最新评论 更多>>