我正在使用 JQuery Validate 函数来验证一个表单,该表单包含几个输入字段和两个文件上传。
表格工作正常。我可以同时提交两个文件。
然后是验证问题,事情就是这样;
如果我尝试提交一个空表单,则会为每个必填字段显示错误消息(这没问题,这就是我最初打算做的)。但是当文件上传被填写时,验证规则被绕过(或表单被提交),而其余的必填字段被留空。
这是我的JQuery代码:
$(document).ready(function(){
$("#MyForm").validate({
errorElement: 'div',
rules: {
name: "required",
email: {
required: true,
email: true
},
photo: {
required: true
},
cv: {
required: true,
extension: "pdf|doc|docx"
}
},
messages: {
name: "Please fill in your name",
photo: "Select your image file",
cv: "Please upload your CV in PDF format",
email: {
required: "Please fill in your email address",
email: "A valid email address should look like this: name@domain.com"
},
},
submitHandler: function(form) {
form.submit();
}
});
});
这是我的HTML代码:
<form action="submit.php" method="POST" class="form-set" id="MyForm" enctype="multipart/form-data" novalidate="novalidate" >
<fieldset>
<legend>Your Profile</legend>
<label class="control-label" for="cname">Name</label>
<div class="controls">
<input type="text" id="cname" name="name"/>
</div>
<label class="control-label" for="cemail">Email</label>
<div class="controls">
<input type="text" id="cemail" name="email"/>
</div>
<label class="control-label" for="cphoto">Photo</label>
<div class="controls">
<input type="file" id="cphoto" name="photo">
</div>
<label class="control-label" for="ccv">CV</label>
<div class="controls">
<input type="file" name="cv" id="ccv">
</div>
</fieldset>
</form>
有人可以指出我,在哪里看?