如何使用addMethod不使用正则表达式的jQuery Validate插件(使用)创建简单的自定义规则?
例如,只有在检查了一组复选框中的至少一个复选框时,哪个函数才会创建一个验证规则?
在新版本的jQuery验证插件1.9中默认验证隐藏字段被忽略.我正在使用CKEditor进行textarea输入字段,它隐藏了字段并将其替换为iframe.该字段在那里,但是对隐藏字段禁用了验证.使用验证插件版本1.8.1,一切都按预期工作.
所以我的问题是如何使用v1.9验证插件启用隐藏字段的验证.
此设置不起作用:
$.validator.setDefaults({ ignore: '' });
Run Code Online (Sandbox Code Playgroud) 我使用validate.jquery.js:工作正常.但是当我添加selected.js时,对选择下拉列表的验证不再有效.
这是JS我正在使用http://pastebin.com/S9AaxdEN
这是我的选择形式:
<select name="category" id="category" placeholder="" class="{validate:{required:true}}">
<option value=""><?php echo lang('category_choice'); ?></option>
<option value="vtt">VTT</option>
<option value="autre">Autre type de vélo</option>
</select>
Run Code Online (Sandbox Code Playgroud)
不知道为什么choose.js禁用验证,任何想法?
我能够使用jquery-validate验证多选,并创建了一个小提琴作为演示.按住Ctrl键取消选择选择,然后单击选择以查看效果.
<form id="myform">
<select id="id_deals-1-sales_item" class="multi_select_mandatory" name="deals-1-sales_item" multiple="multiple">
<option value="1">Hotel 3 Star</option>
<option selected="selected" value="2">Hotel 4 Star</option>
</select>
</form>
$(document).ready(function() {
var validator = $('#myform').validate({
// options
rules: {
"deals-1-sales_item": "required",
},
//ignore: ':hidden:not("#id_deals-1-sales_item")'
});
});
Run Code Online (Sandbox Code Playgroud)
但是一旦我选择了多选,它就会停止工作:看小提琴.
$('#id_deals-1-sales_item').chosen();
Run Code Online (Sandbox Code Playgroud)
虽然研究,我发现已经有人尝试这种具有jquery multiselect替代选择.似乎隐藏的元素在jquery validate中被忽略.我尝试应用该解决方案,但由于Chosen有不同的方法,我卡住了(选择中不存在多选)
在这里有任何jQuery大师可以指出我正确的方向吗?此外,我宁愿使用基于类而不是基于字段名称的解决方案.像这样:
这是我提出的一个解决方案.但不知道该怎么做???.
$.validator.addMethod("needsSelection", function(value, element) {
return $(element).???.length > 0;
});
var validator = $('#myform').validate({
});
$('#myform').find('select.multi_select_mandatory').each(function(){
$(this).change(function(){
$(this).valid();
});
$(this).rules('add', {
needsSelection: ""
});
});
Run Code Online (Sandbox Code Playgroud)
解:
通过下面的eicto解决方案,我能够创建一个基于类而不是基于字段名称的解决方案.当您拥有要立即验证的动态元素而不向服务器提交任何内容时,这将特别有用.
var …Run Code Online (Sandbox Code Playgroud) 下面的下拉代码,我想要根据需要这个字段,但没有检查验证.
<select id="mood" rel="chosen" required="required" name="moodName">
<option value="">Select Option</option>
<option value="69">AGITATED</option>
<option value="115">ALOOF</option>
<option value="46">AMUSED</option>
</select>
Run Code Online (Sandbox Code Playgroud)
验证码
$('#Form').validate();
Run Code Online (Sandbox Code Playgroud)
提交表单时如何验证所选字段的必填字段?喜欢"这个字段是必需的".