我有一个网页根据传递的ID呈现不同的表单,表单处于局部视图中,目前验证工作正常,看起来像这样
$("#MyForm").validate({
rules: {
"Model.Title": "required",
"Model.Description": "required",
"Model.SelectedPostageOption": "required",
"Model.PostagePrice": "required", // Required only if SelectedPostageOption is 1
},
messages: {
"Model.Title": "Please enter a title for your advert",
"Model.Description": "Please enter a description",
"Model.SelectedPostageOption": "Please select postage option",
"Model.PostagePrice": "Please enter postage price",
}
});
正如你所看到的,我有SelectedPostageOption这会得到一个下拉列表,用户可以选择1 - 3的值,如果他们选择1我需要强制他们在PostagePrice文本框中输入一个值,是他们的属性当前的jquery表单验证,允许你说"必需如果"我目前正在使用以下插件jQuery Validation Plugin v1.13.1-pre
**更新**
我修改了邮资价格规则,现在看起来像这样
"Model.PostagePrice": {
required: function (element) {
return $("#SelectedPostageOption").val() == 1;
}
}
遗憾的是,点击提交时未显示消息,即请输入邮资
答案 0 :(得分:0)
我已经设法让这个工作了,我应该引用实际的下拉列表ID下面的代码是最终的结果并按预期工作。
"Model.PostagePrice": {
required: function (element) {
return $("#SelectedPostageOption").val() == 1;
}
}