2017-10-16 72 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

相关问题