summernote富文本編輯器配合validate表單驗證無法進行表單提交的問題


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

  辛苦的研究成果,希望對大家有所幫助!請給小編一個贊!謝謝!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM