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
辛苦的研究成果,希望對大家有所幫助!請給小編一個贊!謝謝!
