已使用隐藏字段选择验证日期

时间:2014-05-20 09:11:53

标签: jquery jquery-validate

我在表单中使用了一个日期选择器,并使用jquery ajax post提交表单。

我有一个隐藏字段RequiredDate,并在datepicker

的change事件中设置它

然后我在ajax帖子中使用它

 var requiredDate = $("#RequiredDate").val();

我的hiden字段的html是:

<input data-val="true" data-val-required="Please select the required date" id="RequiredDate" name="RequiredDate" type="hidden" value="" />

我允许使用隐藏字段验证:

 $.validator.setDefaults({
        ignore: "#InternalColourId, #ExternalColourId, #RequiredDate"
    });

我希望能够验证是否已选择日期(理想情况下不使用第三方插件)

你能帮忙吗?

2 个答案:

答案 0 :(得分:0)

不是最干净的方式,但这似乎对我有用

  var isFormValid = form.valid();

        if (!$("#RequiredDate").val() > 0) {
            if (isFormValid)
            {
                $(".validation-summary-errors ul").empty();

            }
            if (!$(".date-invalid").length) {
                $(".validation-summary-errors ul").append("<li class='date-invalid'>Please Select required date</li>");
            }
            $(".validation-summary-errors").show();
            isFormValid = false;
        }

答案 1 :(得分:0)

引用OP

  

&#34;我允许隐藏字段验证使用:&#34;

ignore: "#InternalColourId, #ExternalColourId, #RequiredDate"

不,你不是。你做的正好与#34;允许&#34;。

完全相反

ignore: "#RequiredDate"正是它所说的......在验证过程中 被忽略

由于默认情况下会忽略所有隐藏字段,因此您必须禁用 ignore选项,如此...

ignore: []  // <- Set 'ignore' to nothing - allows validation of hidden fields

或者,ignore中的任何其他特定参数也将覆盖默认设置以忽略隐藏字段。换句话说,如果您设置ignore: ".ignore",那么将跳过仅包含<{1}}类字段。

请参阅:jQuery Validate - Enable validation for hidden fields