2017-10-16 129 views
0

要檢查是否至少有一個培訓就業部現場已經充滿了,其他的解決方案中,我正在考慮以下解決方案:檢查是否至少有一個表單字段已經充滿

var form = Ext.ComponentQuery.query('#myform')[0]; 

form.getForm().getFields().each(function(field) { 
     var value = field.getRawValue(); 
     if(value !== ''){ 
      //submit form 
     }else{ 
      //error message 
     } 
    }); 

因爲我有幾個形式的需要填寫至少一個字段,我想在Util文件類中創建一個方法,並在控制器中調用此方法;是這樣的:

//Class Util 
testFields: function(form){ 
    form.getForm().getFields().each(function(field) { 
     var value = field.getRawValue(); 
     if(value !== ''){ 
      ... 
     } 
    }); 
}, 

//controller 
if(MyApp.util.Util.testFields(form) !== ''){ //does not work 
    //submit form 
}else{ 
    //error message 
} 

是這樣的可行的解決方案,或者是它最好讓每個字段的在控制器中的值不反覆和測試,如果它們是空的?

回答

1

我會說,你UTIL方法應該返回一個布爾像

//Class Util 
testFields: function(form){ 
    var result = false; 
    form.getForm().getFields().each(function(field) { 
     if(field.getRawValue()){ // at least one field needs to be filled out 
      result = true; 
     } 
    }); 
    return result; 
}, 

比你的控制器方法應該只是測試形式一樣

//controller 
if(MyApp.util.Util.testFields(form)){ 
    form.submit(); 
}else{ 
    //error message 
} 
+0

感謝偉大工程。 – josei

+0

不客氣! – dhilt

相關問題