2015-02-09 65 views
0

我遇到了使用jQuery的Validate插件验证我正在处理的网站上的选择框的问题。jQuery使用select元素验证插件

有谁知道正确的语法?看看这些文档,他们似乎在选定的输入中使用内联HTML5“必需”标志,但是我找不到任何直接相关的javascript。

我试过到目前为止是:

$('#quick-search').validate({ 
    vehicletype: { 
     required: true 
    } 
}); 

...然后...

$('#quick-search').validate({ 
    "vehicletype[]":"required" 
}); 

好像没有什么改变,我甚至已经注意到了 “NOVALIDATE” 出现在我的表单元素上没有任何理由!

由于提前, 格雷厄姆

+1

粘贴HTML太... – 2015-02-09 14:09:36

+0

我们需要看到你的'select'元素的HTML。 – Sparky 2015-02-09 15:58:21

+1

_“没有任何理由!”插件放置了_〜'novalidate'来禁用HTML5验证!当插件也在进行验证时,您不需要HTML5验证。 – Sparky 2015-02-09 16:02:02

回答

1

你一定做错了什么语法。

Working My sample demo

当你没有提供HTML

<form action="/smudev/CourseCategories/add" autocomplete="off" id="CourseCategoryAddForm" method="post" accept-charset="utf-8" novalidate="novalidate">   
     <!--Div structure--> 
     <section class="AddNewForm"> 


      <section class="formField fullwidth"> 
       <label> 
        Department:   
        <span class="starRed"> *</span>         
       </label> 
       <section class="inputOuter width160"> 
        <div class="input select"><select name="data[CourseCategory][department_id]" id="CourseCategoryDepartmentId" class="errorjQuery"> 
<option value="">(choose one)</option> 
<option value="4">Arts</option> 
<option value="5">Commerce</option> 
<option value="1">Science</option> 
<option value="3">Sports</option> 
</select></div> 
       </section> 
      </section> 



      <section class="formField formBTN"> 
        <div class="submit"><input name="submit" class="grayBTN" title="" alt="Submit" type="submit" value="Save"></div><button type="button" onclick="redirectFun()" class="grayBTN">Cancel</button> 
      </section>    

     </section></form> 

jQuery的

jQuery(document).ready(function(){ 
// validate add Category form when it is submitted 
    jQuery("#CourseCategoryAddForm").validate({ 
     errorElement: 'div', 
     errorClass:'errorjQuery',  
     rules: { 

      'data[CourseCategory][department_id]': { 
       required: true 
      } 

     }, 
     messages: {       
      'data[CourseCategory][department_id]': { 
       required: "Please select department." 
      } 

     }, 
     errorPlacement: function(error, element) { 
      error.appendTo(element.parent());   
      //What to do if error occurs 
      $(".error-message").remove(); 
     }, 

     submitHandler: function(form) { 
      jQuery('input[type=submit]', form).attr('disabled', 'disabled');    
      idd = form.attr("id");   
      form.submit();   
     } 
    }); 
// validate edit Category form when it is submitted 

}); 
+0

得到它的工作!原来我与自定义选择框插件有冲突。它基本上掩盖了原来的选择框元素,并用模仿功能的标签实时替换它。插件跳过,代码工作。感谢所有的帮助人员 - 特别是提供的代码! – Graham 2015-02-10 09:31:56