2016-02-25 61 views
2

我有一个母版页,并在母版页,我有:您是否必须在表单元素上使用JQuery验证插件validate()?

<form id="form1" runat="server"> 
    <asp:ContentPlaceHolder ID="MainContent" runat="server">    
    </asp:ContentPlaceHolder> 
</form> 

我的问题是在我的子页面,我需要使用表单元素来实现validate方法?

对于子窗体的示例脚本:

$("#commentForm").validate({ 
     rules: { 
      name: "required", 
      email: "required", 
      comment: "required" 
     }, 
     messages: { 
      name: "Please enter a name", 
      email: "Please enter an email", 
      comment: "Enter a comment" 
     }, 

     submitHandler: function(form) { 
      form.submit(); 
     } 
    }); 

子窗体的HTML是:

<div id="commentForm"> 
    <fieldset> 
    <legend>Please provide your name, email address (won't be published) and a comment</legend> 
    <div class="form-group"> 
     <label for="cname">Name (required, at least 2 characters)</label> 
     <input id="cname" class="form-control" name="name" minlength="2" type="text"> 
    </div> 
    <div class="form-group"> 
     <label for="cemail">E-Mail (required)</label> 
     <input id="cemail" class="form-control" type="email" name="email"> 
    </div> 
    <div class="form-group"> 
     <label for="curl">URL (optional)</label> 
     <input id="curl" class="form-control" type="url" name="url"> 
    </div> 
    <div class="form-group"> 
     <label for="ccomment">Your comment (required)</label> 
     <textarea id="ccomment" class="form-control" name="comment" rows="3"></textarea> 
    </div> 
    <div class="form-group"> 
     <input class="submit" type="submit" value="Submit"> 
    </div> 
    </fieldset> 
</div> 

$("#commentForm").validate将无法​​正常工作。但是,如果我切换到$("#form1").validate它会。

由于我不能嵌套窗体是否有可能实现对父窗体元素以外的任何其他的验证方法?

+0

的jQuery只验证在“形式”的水平,我认为。您可以在一个表单中包含一个表单。 –

+0

@ Dean.DePue'你可以在另一个表格中包含一个表格#不,你不能嵌套表格 –

+0

@ A.Wolff - 我用MVC做了很多次... –

回答

0

从文档:

.validate()

描述:验证所选择的形式。

所以,是的,它假定所选元素是form

+0

所以,如果我有一个弹出窗口模式(bootstrap),我将不得不将每个模态绑定到父窗体元素? – PrivateJoker

相关问题