seh*_*mel 4 html jquery jquery-validate
我正在尝试使用jQuery Validate插件来验证下拉列表.它正确地验证了我的表格的其余部分.但它不适用于下拉列表.
这是我的jQuery:
$('#campaignForm').validate({
rules: {
campaign_name: {
required: true
},
html_url: {
required: {
depends: function(element) {
return $('#html_url').val() == 'none';
}
}
}
},
messages: {
campaign_name: 'Please enter a campaign name',
html_url: 'Please select a template'
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的HTML:
<select name="html_url" id="html_url">
<option value="none">Select One...</option>
...
</select>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我的变量名称是否以某种方式发生碰撞.广告系列名称的规则运作正常.
Spa*_*rky 10
如果你只想制作一个select元素required,你就不会使用,depends:因为它不依赖于另一个元素.在您的使用中,该depends属性只是切换required规则.这里的问题不是required规则......它不需要切换.问题是required当所有选项都已包含a时value,规则将不起作用,因为required始终会满足.
只需使用value=""默认选项,然后像任何其他元素一样设置规则.
<option value="">Select One...</option>
Run Code Online (Sandbox Code Playgroud)
HTML:
<form id="campaignForm">
<select name="html_url" id="html_url">
<option value="">Select One...</option>
<option value="one">ONE</option>
<option value="two">TWO</option>
</select>
<input type="submit" />
</form>?
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$(document).ready(function() {
$('#campaignForm').validate({
rules: {
html_url: {
required: true
}
},
messages: {
html_url: {
required: 'Please select a template'
}
}
});
});?
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因您不能像Spark所说的那样将值设置为空白,则可以添加自己的JQuery验证功能,而不是默认的必需预设。
$.validator.addMethod("aFunction",
function(value, element) {
if (value == "none")
return false;
else
return true;
},
"Please select a value");
$('#campaignForm').validate({
rules: {
campaign_name: {
required: true
},
html_url: {
aFunction: true
}
},
messages: {
campaign_name: 'Please enter a campaign name',
html_url: 'Please select a template'
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24977 次 |
| 最近记录: |