我已经很好地研究并使用了它,但我不知道它仍然会出错。 我需要检查现有图像是否存在,然后文件属性应该跳过验证,反之亦然。
HTML COde:
<input type="file" name="image" id="image">
<input type="hidden" name="old_image" value="">
JQuery验证码:
$("#add_reference").validate({
rules: {
link: {
required: true,
},
image:{
//required: true,
required: function(element) {
if ($("#old_image").val() == '')
{
return true;
}
else
{
return false;
}
},
accept:"jpg,png,jpeg,gif"
},
},
messages: {
link: {
required: "Please enter link title",
},
image:{
required: "Please choose image",
accept: "Please choose valid image files",
},
},
errorPlacement: function (error, element) {
var attr_name = element.attr('name');
error.insertAfter(element);
}
});
有谁能告诉我哪里出错了?
答案 0 :(得分:2)
输入标记中没有id,而应添加id属性。
<input type="hidden" name="old_image" id="old_image" value="">
你正在通过id
来调用它if ($("#old_image").val() == '')
答案 1 :(得分:1)
<input type="file" name="image" id="image">
<input type="hidden" id="old_image" name="old_image" value="">
你的验证不会因为它总是通过测试而被激发,你正在测试#old_image是否为空并且你可以看到它总是空的,你是否在上传文件后触发了一个事件?
你可以用这个活动来做..
$(function() {
$("input:file").change(function (){
var fileName = $(this).val();
$("#old_image").val(fileName);
});
});