jQuery表单验证,如果选择选项需要属性

时间:2015-02-21 09:01:16

标签: jquery jquery-validate

我有一个网页根据传递的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;
    }
 }

遗憾的是,点击提交时未显示消息,即请输入邮资

1 个答案:

答案 0 :(得分:0)

我已经设法让这个工作了,我应该引用实际的下拉列表ID下面的代码是最终的结果并按预期工作。

"Model.PostagePrice": {
   required: function (element) {
   return $("#SelectedPostageOption").val() == 1;
  }
}