ASP.NET MVC2框架验证学习笔记

来源:互联网 发布:unity3d使用教程 编辑:程序博客网 时间:2024/05/16 06:29

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");

}