2016-11-01 33 views
0

我有一個Webix爲其提供了添加應該驗證的附加文本字段以及預定義字段的可能性。窗體:如何爲新添加的輸入添加驗證規則?

喜歡的東西未來:http://webix.com/snippet/73c90f29

function addFormInput(){ 
    $$("form1").addView({ 
    view:"text", 
    label:'Should be a number', 
    name:"text2", 
    value:"some", 
    labelPosition:"top" 
    }, 1); 
}; 


webix.ui({ 
    view:"form", 
    id:"form1", 
    elements: [ 
    { 
     view:"text", 
     label:'Not empty', 
     name:"text1", 
     labelPosition:"top" 
    },  
    {cols:[ 
     { 
     view:"button", type:"iconButton", 
     label:"Add new", icon:"plus", 
     click:function(){ 
      addFormInput(); 
      this.disable() 
     } 
     }  
    ]} 
    ], 
    rules:{ 
    text1:webix.rules.isNotEmpty 
    } 
}); 

但我堅持的添加驗證規則的一個新項目。怎麼做?它有可能嗎?提前致謝!

+0

聽起來就像你需要一個事件來監聽添加新字段的時間,然後執行相應的代碼。 – colecmc

+0

也許,但我希望我可以在'addView()'之後添加它。主要的問題是改變表單規則的(未知的)方法。 – rannat

回答

1

新項目的形式加入,因此你可以定義應用驗證規則就可以在你的形式的規則:

rules:{ 
     text1:webix.rules.isNotEmpty, 
     //text2 : webix.rules.isNotEmpty  // webix defined validation rule 
     text2 : function(value){    // custom validation rule 
       if (!value) return false; 
       return true; 
     } 
} 

您可以將自定義或webix驗證規則對新項目作爲如上所示。

+0

謝謝。但是如果'text2'還不存在,表單將被標記爲無效。 [試驗](http://webix.com/snippet/44bb1da6) – rannat