博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mvc jq客户端表单验证

Posted on 2010-05-27 13:25  gzlxm  阅读(948)  评论(0)    收藏  举报

首先下载一个jquery.validate.js插件

 

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="Mvc.Validation.Views.Home.Index" %>
<asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server">
<script type="text/javascript">
$(document).ready(function(){
 $("#form-sign-up").validate( {
  rules: {
   password: {
    required: true,
    minLength: 8
   },
   confirm_password: {
    required: true,
    minlength: 8,
    equalTo: "#password"
   },
   login: {
    required: true,
    remote: '<%=Url.Action("IsLoginAvailable", "Home") %>'
   }
  },
  messages: {
   confirm_password: {
    required: "Please provide a password",
    minLength: "Your password must be at least 8 characters long",
    equalTo: "Please enter the same password as above"
   },
   login: {
    required: "Please provide an alias",
    remote: jQuery.format("{0} is already in use")
   }
  }
 });
});
</script>
   
<form action="<%=Url.Action("Register", "Home")%>" method="post" id="form-sign-up">
 <table>
  <tr>
   <td>Login (Try with cibrax):</td>
   <td class="field"><input type="text" name="login" id="login" /></td>
  </tr>
  <tr>
   <td>Email:</td>
   <td class="field"><input type="text" name="email" id="email" class="email required"/></td>
  </tr>
  <tr>
   <td>Url:</td>
   <td class="field"><input type="text" name="url" id="url" class="url required" /></td>
  </tr>
  <tr>
   <td>Password:</td>
   <td class="field"><input type="password" name="password" id="password" /></td>
  </tr>
  <tr>
   <td>Password Confirm:</td>
   <td class="field"><input type="password" name="confirm_password" id="confirm_password" /></td>
  </tr>
  <tr>
   <td colspan="2"><input type="submit" /></td>
  </tr>
 </table>
</form>
</asp:Content>

 

 

 

(1)required:true              必输字段
(2)remote:"check.php"    使用ajax方法调用check.php验证输入值
(3)email:true                  必须输入正确格式的电子邮件
(4)url:true                      必须输入正确格式的网址
(5)date:true                   必须输入正确格式的日期
(6)dateISO:true              必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22 只验证格式,不验证有效性
(7)number:true              必须输入合法的数字(负数,小数)
(8)digits:true                 必须输入整数
(9)creditcard:                 必须输入合法的信用卡号
(10)equalTo:"#field"      输入值必须和#field相同
(11)accept:                     输入拥有合法后缀名的字符串(上传文件的后缀)
(12)maxlength:5            输入长度最多是5的字符串(汉字算一个字符)
(13)minlength:10           输入长度最小是10的字符串(汉字算一个字符)
(14)rangelength:[5,10]   输入长度必须介于 5 和 10 之间的字符串")(汉字算一个字符)
(15)range:[5,10]             输入值必须介于 5 和 10 之间
(16)max:5                      输入值不能大于5
(17)min:10                     输入值不能小于10

如:

$("#login").validate({
    rules: {
       username: {
        required: true,
        minlength: 2
       },
       email: {
        required: true,
        email: true
       },
       password: {
        required: true,
        minlength: 6
       },
       confirm_password: {
        required: true,
        minlength: 6,
        equalTo: "#password"
       }
      },
    messages: {
       username: {
        required: "<span style='color:red'>  请输入用户名</span>",
        minlength: jQuery.format("<span style='color:red'>  用户名不正确,应该在2个汉字或四个字符以上</span>")
       },
       email: {
        required: "<span style='color:red''>请输入Email地址</span>",
        email: "<span style='color:red'>  请输入正确的email地址</span>"
       },
       password: {
        required: "<span style='color:red'>  请输入密码</span>",
        minlength: jQuery.format("<span style='color:red'>  您输入的密码不正确,应该在6位或6位字符以上</span>")
       },
       confirm_password: {
        required: "<span style='color:red'>请输入确认密码</span>",
        minlength: jQuery.format("<span style='color:red'>  您输入的密码不正确,应该在6位或6位字符以上</span>"),
        equalTo: "<span class='fred'>两次输入密码不一致</span>"
       }
      }
    });