您可以通過添加類解決這個問題 「chzn,做」 不走財產 「忽視」 到 「validate.settings」:
var settings = $.data($('#myform')[0], 'validator').settings;
settings.ignore += ':not(.chzn-done)';
example
HTML:
<form method="post" id="form1" action="">
<fieldset>
<legend>Login Form</legend>
<div>
<label>datos</label>
<select name="data-select" title="data-select is required" class="chzn-select {required:true}" style="width:150px;">
<option></option>
<option value="1">uno</option>
<option value="2">dos</option>
</select>
</div>
<div>
<label for="phone">Phone</label>
<input id="phone" name="phone" class="some styles {required:true,number:true, rangelength:[2,8]}" />
</div>
<div>
<label for="email">Email</label>
<input id="email" name="email" class="{required:true,email:true}">
</div>
<div class="error"></div>
<div>
<input type="submit" value="enviar datos"/>
</div>
</fieldset>
</form>
JS:
$(function() {
var $form = $("#form1");
$(".chzn-select").chosen({no_results_text: "No results matched"});
$form.validate({
errorLabelContainer: $("#form1 div.error"),
wrapper: 'div',
});
var settings = $.data($form[0], 'validator').settings;
settings.ignore += ':not(.chzn-done)';
$('form').each(function(i, el){
var settings = $.data(this, 'validator').settings;
settings.ignore += ':not(.chzn-done)';
});
});
一個可能的答案,我發現,這可以幫助,如果你有同樣的問題: '確保驗證程序不忽視:隱藏要素。當選擇將其下拉菜單應用到DOM時,原始''是隱藏的.' – PhilMarc
我認爲,如果您將自己發現的解決方案作爲答案發布並且接受它,所以問題顯示爲已回答並接受搜索頁面。 –
我試過,但因爲我是新用戶,我不信任,不能不幸的是:( – PhilMarc