我正在尝试设置一些验证,因此如果选中"是"单选按钮,则需要验证另一个控件,即下拉列表,以确保它未设置为列表中的默认第一个条目"请选择...".
我尝试过很多种组合但却无法使用它.验证消息显示是否选中了复选框.
这是一些代码!
这是我用来验证下拉列表的自定义方法.(这适用于简单的DDL验证)
$.validator.addMethod(
"selectNone",
function(value, element) {
return this.optional(element) || element.value != "Please Select...";
},
"Please select an option."
);
Run Code Online (Sandbox Code Playgroud)
要根据复选框进行验证,我已在表单中添加了规则
$(document).ready(function() {
var validator = $("#BuildingsCoverForm").validate({
rules: {
NCBYears: {
selectNone: function(element) {
return $("*[name='PreviousInsurance']")[0].checked;
}
}
},
messages: {
NCBYears: {
selectNone: "This field is required"
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是控件.
<p>
<label for="PreviousInsurance" class="halfstretch">Do you have any previous insurance?</label>
<%= Html.YesNoControl("PreviousInsurance", Model.PreviousInsurance)%>
</p>
<p>
<label for="NCBYears" class="halfstretch">Building No Claim Bonus</label>
<%= Html.DropDownList("NCBYears", ViewData["NCBYears"] as SelectList)%>
</p>
Run Code Online (Sandbox Code Playgroud)
任何想法都将非常感激.
非常感谢
Sco*_*ttE 23
只要第一个下拉列表选项具有空值(<option value="">some text</option>),以下规则将起作用:
rules: {
NCBYears: {
required: function(element) {
return $("input:radio[name='PreviousInsurance']:checked").val() == 'yes';
}
}
}
Run Code Online (Sandbox Code Playgroud)
来自:http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-expression
| 归档时间: |
|
| 查看次数: |
27973 次 |
| 最近记录: |