我使用jquery验证插件来验证表单。如果所有字段都留空,则可以正常工作。但是,如果我在输入字段中输入了一个文件并将其他必填字段留空,则它不再验证其他元素,只需将表单提交给服务器即可。
<script>
$().ready(function() {
$("#form1").validate({
submitHandler: function (form) {
$.ajax({
type: $(form).attr('method'),
url: $(form).attr('action'),
data: $(form).serialize(),
})
.done(function (response) {
jAlert(response);
});
return false;
},
ignore: [],
rules: {
title: { required: true, minlength: 2, maxlength: 25 },
text1: {
required: function() {
CKEDITOR.instances.text1.updateElement();
}
},
text2: {
required: function() {
CKEDITOR.instances.text2.updateElement();
}
},
newsimage: {
required: true,
accept: "image/*"
},
},
messages: {
title: {
required: "Please enter the Title",
minlength: "Title must consist of at least 2 characters"
},
text1: {
required: "Please enter text",
minlength: "Must consist of at least 2 characters"
},
text2: {
required: "Please enter text",
minlength: "Must consist of at least 2 characters"
}
}
});
});
</script>
这是表格
<form id="Form1" enctype="multipart/form-data" method="post" action="save.php" >
Title: <input name="title" size="40" maxlength="255">
<br>
<label for="newsimage">News Image</label>
<input type="file" id="newsimage" name="newsimage">
<br> News Summary:
<textarea id="text1" name="text1" rows="7" cols="30"></textarea>
<script type="text/javascript">
CKEDITOR.replace( 'text1' );
</script>
<br> News Full Story:
<textarea id="text2" name="text2" rows="7" cols="30"></textarea>
<script type="text/javascript">
CKEDITOR.replace( 'text2' );
</script>
<br> <input type="submit" name="submit" value="Add News">
答案 0 :(得分:0)
您可以在表单标签上使用required,如下所示:
<input name="title" size="40" maxlength="255" required>
应该强制一些输入。 (它没有消毒)
答案 1 :(得分:0)
由于我缺少additional-methods.js,因此我没有在我的工作结束,所以添加它可以解决问题。
<script src="js/additional-methods.min.js"></script>
答案 2 :(得分:0)
试试这个用户友好的验证插件
答案 3 :(得分:0)
首先要激活任何jquery验证库,您需要在jquery cdn下定义该库。您的结构应如下所示:
<!-- define jquery file -->
<!-- Now define jquery validation library -->
为了安全起见,请在标头上定义jquery文件,并在主代码后定义验证库。