3

我正在使用bootstrap 3.3 bootstrapvalidator
我需要重置模式對話框中的窗體。
我使用了正確的方法,但它不適用於模態對話框。Bootstrap驗證器resetForm

$('#emailForm').bootstrapValidator("resetForm",true); 

如果我打開模式並插入電子郵件,然後嘗試重置表單,驗證控件仍然存在。

JSFiddle

+0

這個小提琴將幫助即將到來的工匠。 http://jsfiddle.net/sdmomphd/18/ – Hitesh 2017-08-16 14:55:17

回答

6

這很簡單,你只只需要添加

excluded: [':disabled'], 

進入驗證初始化。

例子:

$('#emailForm').bootstrapValidator({ 
     feedbackIcons: { 
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove', 
      validating: 'glyphicon glyphicon-refresh' 
     }, 
     excluded: [':disabled'], 
     fields: { 
      email: { 
       validators: { 
        emailAddress: { 
         message: 'The value is not a valid email address' 
        } 
       } 
      } 
     } 
    }); 
+0

太棒了!你能解釋一下嗎? – 2014-10-31 09:06:43

+1

默認情況下,插件不會初始化已禁用,隱藏或不可見的字段。由於表單放置在加載頁面後不可見的模型中,因此可能會忽略使用HTML屬性初始化的字段/驗證器。 – 3y3skill3r 2014-10-31 09:08:01

+0

但是,如果表單最初以模式(在頁面上編碼)在頁面上,則這不起作用。你可以用一個表單編碼一個模態。但是,可以多次使用它(如列表),而不是每次收到電子郵件或點擊任何內容時重新獲取表單。但是,如果每次獲取表單,都沒有理由「重置」表單。 – 2015-08-11 18:20:56

1

我知道這是很老了。

$("#emailForm").data('bootstrapValidator').resetForm(); 

重置表單驗證,但不會清除字段。我的情況很好。爲多個客戶使用一種表格。訪問者更容易讓他們的姓名和電子郵件留在那裏,但只需重新輸入消息。所以我只是清除消息字段。