2017-07-18 39 views
0

我有一個問題,我驗證我的表單與js插件荷蘭芹,並在Parsely插件啓動頁面表單輸入type =「文件」沒有工作,不可點擊「,點擊時看到按鈕動畫,但沒有彈出文件系統選擇要上傳的文件,並且輸入未經解析器驗證,輸入到有Parsly的所有頁面上工作中,當我註釋掉香菜實例按預期工作的文件輸入,這裏是我如何初始化插件:js問題輸入文件按鈕不起作用,彈出不會顯示

app.Manage.BasicInfoForm.parsley(app.Manage.validatorConfig).validate(); 

該行執行輸入之前做工精細也是,如果我有自定義驗證宣佈它會阻止文件輸入也起作用,如:

window.Parsley.addValidator('reservednamescheck', 
       function (value, requirement) { 
         var noAllow = app.websiteManage.noAllowWebsiteNames; 
         var forbbidenName = ''; 
         for (var i = noAllow.length - 1; i >= 0; i--) {  
          if (value === noAllow[i]) { 
          forbbidenName = noAllow[i]; 
          return false; 
          } 
         } 
         return true; 
       }, 32) 
       .addMessage('en', 'reservednamescheck', 'Sorry but this name is reserved'); 

所以這將防止文件輸入再次工作,以及,即使文件輸入是獨立的頁面上的任何地方它不工作的時候香菜存在,請幫忙,謝謝

+0

你檢查你的控制檯LO G? – tookie009

+0

是的,沒有錯誤顯示,一切都按預期工作,除了文件輸入 –

回答

0

檢查版本號。 API已經改變,並且在2.0+版本中,第三個參數是parsley實例。

所以,你會增加你的函數裏面的消息,像:

window.Parsley.addValidator('myvalidator', { 
       requirementType: 'string', 
       validateMultiple: function(value, dataProp, instance) { 
        . 
        . 
        . 

        instance.reset(); // clear previous error 
        instance.addError('en', {message: 'my message here'}); 
        return false; 
       }, 
       messages: { 
        en: '...' 
       } 
      }) 
+0

謝謝你,自定義規則正在工作,但問題是,當歐芹出現在頁面上的文件輸入不工作,我仍然無法想象它並切換到不同的插件 –

+0

嗯,好。至少你最終得到了它的工作,即使它不符合你的初衷。 – CrazyMerlin

0

我不好,這個問題是不是與插件,但與jQuery的事件,該代碼是造成問題的原因:

$(document).on('click input ', app.websiteManage.websiteNameInput , function(event) { 
       event.preventDefault(); 
       // detects if inputed website name accordingly changes the title 
       app.websiteManage.websiteNameBind.html(app.websiteManage.websiteNameInput.val()); 
      }); 

,所以我是聽單擊並防止默認行爲,這就是爲什麼我輸入文件不能正常工作,謝謝大家誰試圖幫助;)

+0

哈哈!優秀。 – CrazyMerlin