JQuery验证 - 隐藏字段

时间:2015-10-28 11:12:58

标签: jquery validation hidden

当用户使用

点击缩略图图像(使用“缩略图”类)时,我有一个隐藏字段(通过Jquery)
<input type="hidden" id="DocThumbnail" name="DocThumbnail" value=""/>

$(".Thumbnail").click(function() {
    var thumbnailFile = $(this).attr("src");
    $("#DocThumbnail").val(thumbnailFile);
});

我已按如下方式设置了jquery验证:

$("#AddDocumentForm").validate({
    ignore: [], 
    rules: {
        DocThumbnail : { required : true}
    },
    messages: {
        DocThumbnail: "Please choose a thumbnail"
    }
});

当我单击AddDocumentForm上的提交按钮时,错误显示为隐藏字段的值为空,但是当我单击缩略图(带有“缩略图”类)时,将填充隐藏字段但验证警报保持不变,表格不会提交。

有没有人知道如何验证jquery填充的隐藏字段,好像我不添加ignore:[];然后在验证中忽略隐藏字段

1 个答案:

答案 0 :(得分:1)

更改DocThumbnail的值后,您需要调用Validator.element方法。这告诉jQuery Validate重新检查DocThumbnail,这将使错误消息消失。

您的更新代码如下所示:

var validator = $("#AddDocumentForm").validate({
    ignore: [], 
    rules: {
        DocThumbnail : { required : true}
    },
    messages: {
        DocThumbnail: "Please choose a thumbnail"
    }
});

$(".Thumbnail").click(function() {
    var thumbnailFile = $(this).attr("src");
    $("#DocThumbnail").val(thumbnailFile);
    validator.element($('#DocThumbnail'));
});

您可以在此处查看一个有效的示例:http://jsfiddle.net/ryleyb/r0rkfykg/