验证文本字段

时间:2012-05-10 15:52:39

标签: cordova sencha-touch extjs sencha-touch-2

根据以下代码,名称textfield不能留空。当用户单击文本字段并决定将其留空时,将弹出错误。

但是如果用户直接点击按钮而不点击文本字段,则会提交,并且不会显示错误消息。所以我想要做的是在用户点击提交按钮时提醒用户,如果他/她在name文本字段留空了。

{   
  xtype:'textfield',
  name:'name',
  label:'name',
  required: true,
  listeners: {
      blur: function(thisTxt, eventObj) {
             var val= thisTxt.getValue();
             if ( val.length==0) {
                     // display alert
             } 
      }
  }
}]
},
{
  xtype:'button',
  id:'new-note-btn',
  text:'Send',
  ui:'confirm',
  padding:5
 }
}

1 个答案:

答案 0 :(得分:1)

id提供一些textfield属性,并执行以下代码..

xtype:'textfield',
name:'name',
id: 'textId',
.....
......

{
  xtype:'button',
  id:'new-note-btn',
  text:'Send',
  ui:'confirm',
  padding:5,
  listeners : {
       tap : function() {
           if(Ext.getCmp('textId').getValue()=="") {
                // display the alert ..
           }
       }
  }
}

注意:如果此textfield恰好在您的formpanel中,那么您会获得formpanel值,然后尝试访问此textfield使用name属性的值,如下所示..

// Assuming formpanel id = 'formPanelId' ...

listeners : {
    tap : function() {
         var values = Ext.getCmp('formPanelId').getValues();
         var nameValue = values.name;
         if(nameValue == "") {
               // display the alert ..
         }
    }
}