2010-05-18 49 views
0

ASP.NET MVC的Html.BeginForm()似乎与jQuery验证插件一起工作,但验证插件似乎无法与我已添加到页面中的窗体一起使用....jQuery验证插件似乎并不工作

这工作,

<% using (Html.BeginForm("Login", "Registration", FormMethod.Post, new { id = "Loginform" })) {%> 
     <fieldset> 
      <legend>Login</legend> 
      <p> 
       <label for="EmailId">EmailId:</label> 
       <%= Html.TextBox("EmailId", null, new { @class = "text_box_height_14_width_150" })%> 
      </p> 
      <div class="status"></div> 
      <p> 
       <label for="Password">Password:</label> 
       <%= Html.Password("Password",null, new { @class = "text_box_height_14_width_150" }) %> 
      </p> 
      <div class="status"></div> 
      <p> 
       <input type="submit" value="Login" id="login" /> 
      </p> 
     </fieldset> 
<% } %> 

但是,这并不工作,

<form id="Loginform" method="post" action="Registration/Login"> 
    <table cellpadding="0" cellspacing="0" width="100%" style="border:none;"> 
    <tr> 
    <td width="12%">Email Id&nbsp;:&nbsp;</td><td width="15%"> 
    <input id="EmailId" type="text" class="text_box_height_14_width_150 
    name="EmailId" /></td><td width="20%" class="status"></td> 
    <td width="12%">Password&nbsp;:&nbsp;<td width="15%"><input id="Password" 
    type="password" class="text_box_height_14_width_150 name="Password" /></td> 
    <td width="20%" class="status"></td> 
    <td width="5%"><input type="submit" value="Login" id="BtnLogin" /></td> 
    </tr> 
    </table> 
</form> 

和我的jQuery函数有这个,

$(document).ready(function() { 
    var validator = $("#Loginform").validate({ 
      rules: { 
      EmailId: "required", 
      Password: { 
        required: true, 
        minlength: 6 
       } 
      }, 
      messages: { 
      EmailId: "Enter your EMail ID", 
      Password: { 
        required: "Please Provide a password", 
        rangelength: jQuery.format("Enter at least {0} characters") 
       } 
      }, 
      // the errorPlacement has to take the table layout into account 
      errorPlacement: function(error, element) { 
       error.appendTo(element.parent().next()); 
      }, 
      // set this class to error-labels to indicate valid fields 
      success: function(label) { 
       // set &nbsp; as text for IE 
       label.html("&nbsp;").addClass("checked"); 
      } 
     }); 
    }); 

任何建议...我错过了什么?

+0

什么样的类名是'text_box_height_14_width_150'应该是!?用这样的命名,你可能会使用style属性! – 2010-05-18 09:52:56

+0

@Matti它只适用于我的文本框......这是一个概率? – 2010-05-18 09:57:20

+0

是的。是的。 – 2010-05-18 10:08:27

回答

1

您的第二个示例在类名称后缺少结束引号。

+0

真的很抱歉,我做这样一个简单的错误是可怜的...它的工作... – 2010-05-18 09:59:12

+0

只要它工作:) – Paddy 2010-05-18 10:18:24