[zz]ASP.NET MVC2框架验证学习笔记
ASP.NET中的框架验证方法1:
1.模型定义
public class User
{
[Required(ErrorMessage="用户名不能为空!!")]
[StringLength(6,ErrorMessage="用户名不能多于6个字符!!")]
[DisplayName("用户名:")]
public string U_Password { get; set; }
[Required(ErrorMessage = "密码不能为空!!")]
[StringLength(6, ErrorMessage = "密码不能多于6个字符!!")]
[DisplayName("密 码:")]
public string U_UserName { get; set; }
}
2.控制器定义(CreateUser)
public ActionResult CreateUser()
{
if (ModelState.IsValid)
{
// 添加用户
}
return View();
}
3.视图定义(引用MicrosoftAjax.js和MicrosoftMvcValidation.js两个文件,实现客户端js验证)
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MVCDemo.Models.Entity.T_User>" %>
<script language="javascript" src="http://www.cnblogs.com/Scripts/MicrosoftAjax.js"></script>
<script language="javascript" src="http://www.cnblogs.com/Scripts/MicrosoftMvcValidation.js"></script>
<% Html.EnableClientValidation(); %>
<% using(Html.BeginForm("CreateUser","Home",FormMethod.Post)) {%>
<%=Html.LabelFor(m=>m.U_UserName) %>
<%=Html.TextBoxFor(m=>m.U_UserName) %>
<%=Html.ValidationMessageFor(m=>m.U_UserName) %><br />
<%=Html.LabelFor(m=>m.U_Password) %>
<%=Html.TextBoxFor(m => m.U_Password)%>
<%=Html.ValidationMessageFor(m => m.U_Password)%><br />
<input type="submit" value="添 加" style="font-size:14px;"/>
<%} %>
ASP.NET中的框架验证方法2:
1.模型定义(当实体模型由linq to sql自动生成或者由EntiryFrameWor映射生成时)
关键说明:
1.partial关键字:partial关键字 C#2.0提供的新关键字,用来将一个class、struct或interface的定义拆分,写在不同的源文件中。每个源文件包含类定义的一部分,编译应用程序时将把所有部分组合起来。
[MetadataType(typeof(user_validation))]
public partial class User{ }
public class user_validation()
{
[Required(ErrorMessage="用户名不能为空!!")]
[StringLength(6,ErrorMessage="用户名不能多于6个字符!!")]
[DisplayName("用户名:")]
public string U_Password { get; set; }
[Required(ErrorMessage = "密码不能为空!!")]
[StringLength(6, ErrorMessage = "密码不能多于6个字符!!")]
[DisplayName("密 码:")]
public string U_UserName { get; set; }
}
2.控制器定义(CreateUser)
[HttpPost]
public ActionResult CreateUser()
{
// 添加用户
return View("");
}
3.视图定义(同方法1中视图定义一样)
ASP.NET中的框架验证方法3:
1.视图定义(引用MicrosoftAjax.js和MicrosoftMvcValidation.js两个文件,实现客户端js验证)
<% using (Html.BeginForm()){ %>
<%=Html.TextBox("uname")%>
<%=Html.ValidationMessage("error_uname") %><br />
<%=Html.TextBox("upass")%>
<%=Html.ValidationMessage("error_upass") %><br />
<input type="submit" value="TEST" />
<%} %>
2.控制器定义
public ActionResult CreateUser()
{
if (string.IsNullOrEmpty(Request.Form["uname"]) || string.IsNullOrEmpty(Request.Form["upass"]))
{
if (string.IsNullOrEmpty(Request.Form["uname"]))
{
ViewData.ModelState.AddModelError("error_uname", "用户名不能为空!");
}else if (string.IsNullOrEmpty(Request.Form["upass"]))
{
ViewData.ModelState.AddModelError("error_upass", "密码不能为空!");
}
return View();
}
return RedirectToAction("GetAllUser");
}
原文地址:http://www.cnblogs.com/fh1991/archive/2011/04/26/2029464.html