【发布时间】:2017-02-06 04:15:49
【问题描述】:
当通过 Jquery Validator 提交表单时,我正在尝试验证元素的计数。原因是我们希望至少存在一张图片,但我们不直接上传它们,而是先显示预览。所以我需要以某种方式计算它们并验证至少存在一个。
我尝试使用隐藏字段as described here,但它根本不起作用。测试字段验证但由于某种原因我自己的规则甚至没有被触发。我的实现有什么问题?
隐藏字段技巧不再起作用,它似乎不再验证隐藏输入。
<form method="post" accept-charset="utf-8" id="submit-work-form" role="form" action="/" novalidate="novalidate">
<div class="form-group">
<input type="text" required="true" name="title"/>
<input type="hidden" name="image_count" required="required" data-rule-validcmsimagecount="true" aria-required="true">
<div class="photos">
<!-- containers go here -->
</div>
</div>
<div class="submit"><input type="submit" class="btn btn-black btn-default" value="Submit"></div>
</form>
JS:
$.validator.addMethod("validcmsimagecount", function(value, element) {
alert('Doesn\'t work');
return $('.photo-container').length > 0;
}, "You must add at least one image.");
$('#submit-work-form').validate({
submitHandler: function (form) {
form.submit();
}
});
你也可以试试Jsfiddle。
【问题讨论】: