电子邮件验证sencha

Faz*_*zil 6 extjs sencha-touch-2

如何检查sencha touch中的电子邮件字段验证?这里我的代码在应用程序中,请帮我解决这个问题

  {
        xtype: 'fieldset',
        items:[{
        xtype: 'emailfield',
        inputType:'email',
        labelWidth: '33%',
        label: 'Email',
        id:'emailId',     
        name: 'emailId',placeHolder:'emailId'}]
  }
Run Code Online (Sandbox Code Playgroud)

小智 17

在视图中直接激活验证的正确方法是:

{
  xtype: 'textfield',
  name: 'email',
  vtype: 'email'
}
Run Code Online (Sandbox Code Playgroud)

不需要正则表达式.

  • Sencha Touch中没有vtype (3认同)

Vis*_*swa 5

如果您将字段存储为模型实例,则可以。

Ext.define('User', {
    extend: 'Ext.data.Model',

    config: {
        fields: [
            {name: 'name',  type: 'string'},
            {name: 'emailId',    type: 'string'}
            {name: 'phone', type: 'string'}
        ]
    },

    validations: [
       {type: 'presence', name: 'name',message:"Enter Name"},
       {type: 'format',   name: 'emailId', matcher: /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message:"Wrong Email Format"}
    ]
});
Run Code Online (Sandbox Code Playgroud)

或者你可以只匹配正则表达式

var ereg = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var testResult = ereg.test(emailId);
Run Code Online (Sandbox Code Playgroud)

testResult 将根据验证为真或假。


小智 5

对于用户输入的表单字段验证,请使用以下正则表达式

{
  xtype: '文本框',
  允许空白:假,
  正则表达式:/^((([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z\s ?]{2,5}){1,25})*(\s*?;\s*?)*)*$/,
  regexText:'此字段必须包含以分号 (;) 分隔的单个或多个有效电子邮件地址',
  blankText : '请输入电子邮件地址',
}