防止在选择字段上进行jquery验证

时间:2016-07-19 14:49:21

标签: jquery validation

我有一个隐藏的字段,出生日期,并使用以下jQuery插件创建3个下拉列表。

https://github.com/IckleChris/jquery-date-dropdowns

这提供以下来源。

<label class="control-label" for="Applicant_DateOfBirth">Date of Birth</label>
<span class="field-validation-valid" data-valmsg-for="Applicant.DateOfBirth" data-valmsg-replace="true"></span>

<div class="date-dropdowns">
<select class="day selectdob valid ignore" name="date_[day]" data-val="false" aria-invalid="false">
<option value="">Day</option>
<option value="01">01</option>
<option value="02">02</option>
....
</select>

** pseudo code to show additional select fields within div **
<select for month>
<select for year>

<input class="invisible valid" data-val="true" data-val-required="Please enter your date of birth" id="Applicant_DateOfBirth" name="Applicant.DateOfBirth" type="text" value="" aria-required="true" aria-describedby="Applicant_DateOfBirth-error" aria-invalid="false">
</div>

我尝试将验证onclick,onkeyup和onfocusout all设置为false,并将data-val设置为false,如下所示:

Preventing jquery validation on drop down bound to int?

不幸的是,在选择字段发生任何变化时仍会触发验证。

当有效选择所有3个选择字段时,jQuery插件仅更新隐藏字段,因此我确信这不是问题。

任何人都可以建议如何在选择字段上禁用验证,但在输入字段上保留验证

请注意,出于调试目的,不会隐藏输入字段。

我正在使用jQuery validate + unobtrusive与MVC .Net 4.6

我确实尝试了忽略,但这又没有阻止选择字段的验证。

当前验证电话:

 $(form).validate({
onclick: false,
onkeyup: false,
onfocusout: false,
ignore: ".ignore"
});

要在第一次选择字段更改时显示验证触发器的图像,结束字段是将隐藏的Applicant.DateOfBirth输入。

enter image description here

1 个答案:

答案 0 :(得分:0)

以下是阻止验证所选fieldsselect

的最简单方法

只需添加字段名称并将其标记为required:false,

即可

&#13;
&#13;
rules: {
            NameOfField: {
            required:false, // false will not give permission to this for validation
            },

        },
&#13;
&#13;
&#13;