2015-07-21 73 views
0

我試圖根據Victor的ideas將歐芹和Bootstrap一起玩。但Parsley在輸入下面顯示err-msg,而不是在工具提示中,因爲Victor的代碼試圖存檔。所以我修改了「classHandler」-fn並添加了console.output來查看它是否被執行 - 而且我沒有得到任何輸出。歐芹:classHandler沒有執行?

HTML

<form id="regform" class="form-horizontal" method="post"> 
<div class="form-group"><label class="control-label col-lg-3" for="name_k">Schüler <i class="fa fa-user fa-fw"></i></label> 
<div class="col-lg-9"><input id="name_k" name="name_k" placeholder="Vor- und Nachname des Kindes (z.B: &quot;Karl Musterkind&quot;)" type="text" class="form-control col-lg-9" data-parsley-required="true" data-error-message="Bitte geben Sie Vor- und Nachname des Kindes an!" > 
</div> 
</div> 
    <input type="Submit" class="btn btn-primary" value="Absenden"> 
    </form> 

JS:

$(document).ready(function() { 
    var parsleyOptions = { 
    // Sets success and error class to Bootstrap class names 
    successClass: 'has-success', 
    errorClass: 'has-error', 

    // Bootstrap needs success/error class to be set on parent element 
    errors: { 
    classHandler: function(el) { 
     console.log("Error-handler!"); 
     // return el.$element.closest(".form-group"); 
     return el.parent(); 
    }, 
    // Set these to empty to make sure the default Parsley elements are not rendered 
    errorsWrapper: '', 
    errorElem: '' 
    }, 
    listeners: { 
    // Show a tooltip when a validation error occurs 
    onFieldError: function (elem, constraints, parsleyField) { 
     elem.tooltip({ 
     animation: false, 
     container: 'body', 
     placement: 'top', 
     title: elem.data('error-message') 
     }); 
    }, 
    // Hide validation tooltip if field is validated 
    onFieldSuccess: function(elem, constraints, parsleyField) { 
     elem.tooltip('destroy'); 
    } 
    } 
}; 
      $('#regform').parsley(parsleyOptions); 
}); 

我也把一個fiddle,但不幸的發帖時有CSRF-問題,所以我米不知道這是否有任何幫助。

由於維克多的文章已經2歲了,也許它指的是歐芹1.x?不幸的是,我沒有「得到」文件以證實這個想法,仍然有類別處理者被提及等,並且我沒有足夠的歐芹經驗來「看到」......

+1

這些選項似乎是Parsley v1 –

回答

0

在另一個enter link description here ,我發現這個代碼(我修改香菜2.1):

$.listen('field:error', function (fieldInstance) { 

    arrErrorMsg = ParsleyUI.getErrorsMessages(fieldInstance); 
    errorMsg = arrErrorMsg.join(';'); 

    fieldInstance.$element 
     .popover('destroy') 
     .popover({ 
      container: 'body', 
      placement: 'right', 
      content: errorMsg 
     }) 
     .popover('show'); 

}); 

$.listen('field:success', function (fieldInstance) { 
    fieldInstance.$element.popover('destroy'); 
}); 

但是這給了我一個關於發佈訂閱,東西被棄用警告 - 我會打開一個新的q爲那一個。