如何在sencha touch中对文本字段进行字母数字验证

How to do alphanumeric validation in sencha touch for textfield

本文关键字:验证 数字 字段 文本 sencha touch      更新时间:2023-09-26

如何在Sencha Touch中实现textfield的字母数字验证?我试过了:

regex: /^[a-zA-Z0-9]*$/,
regexText: 'Invalid value in field',

但是当我输入#符号或任何其他特殊字符时,它没有显示任何错误。

正如@Benoit Cuvelier在评论中指出的:

根据文档:docs.sencha.com/touch/2.1.0/#!/api/Ext.field.TextTextfield组件没有"Regex"属性(但在ExtJs中它有)。我我认为你应该检查更改事件

的值
也就是说,使用keyup侦听器的简单实现可以是:
{
    xtype: 'textfield',
    label: 'Only alphanumeric values',
    name: 'alphanumeric',
    regex: /^[a-zA-Z0-9]*$/,
    listeners: {
        keyup: function(field) {
            var value = field.getValue();
            if (value.length && !value.match(field.config.regex)) {
                field.setStyle('border: 1px solid red;');
            } else {
                field.setStyle('border: 0;');
            }
        }
    }
}

https://fiddle.sencha.com/小提琴/ttl