Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将三个单独的字段验证为日期_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript 如何将三个单独的字段验证为日期

Javascript 如何将三个单独的字段验证为日期,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我正在尝试验证一个分为三个字段(当然是年、月和日)的日期。我不能改变这些领域,因为我想。我正在使用(也不是我自己选择的)。我不知道如何将这三个字段作为一个字段进行验证。即使单独验证它们也足够了 我的HTML如下 ... / / 我按如下方式调用验证器: $("#SignUp_Enrollment").validate({ focusInvalid : false, rules: { co_ssn: { ssn: true

我正在尝试验证一个分为三个字段(当然是年、月和日)的日期。我不能改变这些领域,因为我想。我正在使用(也不是我自己选择的)。我不知道如何将这三个字段作为一个字段进行验证。即使单独验证它们也足够了

我的HTML如下


...
/ 
/ 
我按如下方式调用验证器:

$("#SignUp_Enrollment").validate({
    focusInvalid : false,
    rules: {
        co_ssn: {
            ssn: true
        },
        first_name: {
            required: true
        },
        last_name: {
            required: true
        }
        // some more rules
    },
    invalidHandler: function (form, validator) {
        // style the invalid fields
    },
    submitHandler: function (form) {
        form.submit();
    }
});

我当然在验证其他字段,但这个插件并没有给我任何怜悯。我尝试添加月、日和年规则,但没有效果。有什么建议吗?

您可以将这三个字段合并为一个(
隐藏的
输入),并验证此输入

var day, month, year;

day = $('.day').val();
month = $('.month').val();
year = $('.year').val();

$('.hidden-date-input').val([day, year, month].join('-'));

报价操作:

“即使单独验证它们也足够了。”

由于HTML标记中没有一个字段包含
name
属性,因此代码被破坏。唯一的
名称
是此插件运行所必需的。它是如何跟踪输入元素的

见:

它不会显示在标记中,但所有相关的输入元素也必须包含在
标记中。否则,此插件将无法工作


由于已将日期保存到隐藏字段中,因此也可以只验证隐藏字段

<input type="hidden" name="myDate" />

使用
忽略:[]
选项激活隐藏字段的验证

然后,只要此隐藏字段具有唯一的
名称
属性,就可以像在任何其他字段上一样应用验证规则


使用
errorPlacement
回调来精确放置附加到隐藏字段的消息。

为了向服务器发送简单参数,我实际上已经在这样做了。但如何验证隐藏的字段呢?我假设只需将此输入传递给验证器。尝试方法
$('.hidden date input').valid()
我将尝试一下。谢谢。@TylerCrompton,我的回答仍然有效。
<input type="hidden" name="myDate" />