summernote富文本编辑器配合validate表单验证无法进行表单提交的问题

时间:2023-12-09 22:27:20

1.使用summernote富文本编辑器提交图片到服务器

  在使用bootstrap中,我们用到了summernote富文本编辑器,使用summernote将图片上传到服务器中,参考我的上篇文章http://www.cnblogs.com/jingmin/p/6592325.html

2.在使用summernote编辑完文本,使用validate进行表单验证出现问题的解决方案

  小编在使用summernote富文本编辑器编辑完文章内容,并且上传了图片,对于编写的内容使用了validate进行了表单验证,结果发现表单无法提交。

 

html代码:

<form method="post" action="{:U('article/add')}" id="add" enctype="multipart/form-data">
<textarea type="text" name="content" id="summernote"></textarea>
<button type="submit" class="btn btn-default" id="subButton">提交</button>
</form>

js中进行validate表单验证

$("#add").validate({
rules: {
content:{
required: true
}
},
messages: {
content:{
required: "请输入内容"
}
}
});

  现在,我们编辑完文章,并且一定附带有图片,此时,我们点击提交,发现表单validate并没有提示错误,但是发现无法进行表单提交。

  重点:那么原因出现在这里,summernote将图片上传到服务器的时候,我们在选择图片的时候,进行了图片文件上传到服务器的过程,其实在这个过程中,summernote编辑器进行了文件的上传,就在此时,就在此时,就在此时,文件上传的时候,其实就默认进行了一次文件上传的files的validate验证,(accept验证,具体的可以查看summernote上传图片的源代码)也就是说在上传图片文件的过程中,进行了一次validate的accept表单验证,并且出现了错误,但是这个错误提示信息无法显示出来,致使表单无法提交。不懂得话多读几次,或者自己查看summernote源代码,查看图片上传文件的<input>就能明白。是需要实际动手研究的。

  解决方案:

$("#add").validate({
//使用validate中的ignore忽略summernote上传文件的验证,summernote的写法是固定的,其它编辑器根据实际情况而定
ignore:".note-image-input,.note-group-select-from-files", rules: {
content:{
required: true
}
},
messages: {
content:{
required: "请输入内容"
}
}
});

     我们在这里,使用ignore忽略上传图片文件的验证,那么summernote+validate就能顺利执行了。

  了解validate更多的参数,请看:http://www.cnblogs.com/jingmin/p/6294982.html

  辛苦的研究成果,希望对大家有所帮助!请给小编一个赞!谢谢!