ExtJS入门教程03,form中怎能没有validation

接上篇内容,我们在学会extjs form的基本用法之后,今天我们来看看extjs form的validation功能。

必填项,就是不能为空(allowBlank)

效果:

代码:

{
    xtype: "textfield",
    name: "UserName",
    fieldLabel: "用户名",
    allowBlank: false,
    flex: 1
}

输入长度限制,maxLength/minLength

效果:

&

代码:

{
    xtype: "textfield",
    name: "UserName",
    fieldLabel: "用户名",
    allowBlank: false,
    maxLength: 10,
    minLength: 3,
    flex: 1
}

值大小限制,maxValue/minValue

值大小的限制常用于numberfield、datefield,可以指定一个可用值的范围。

效果:

&

代码:

{
    xtype: "numberfield",
    name: "Age",
    fieldLabel: "年龄",
    maxValue: 60,
    minValue: 18,
    flex: 1
}

vtype验证

vtype提供了一些公用的验证类型,它们包括:

  • alpha:希腊数字
  • alphanum:字母和数字
  • email:电子邮件地址
  • url:网址

这四种是extjs内置的,已经提供给我们可以直接来用的。我们拿email来进行示例。

效果:

代码:

{
    xtype: "textfield",
    name: "Email",
    fieldLabel: "Email",
    vtype: "email",
    flex: 1
}

vtype也可以自定义

上面介绍了vtype的简单用法,可以看到这种验证是非常好用的,但是小伙伴们不觉得extjs提供的vtype太少吗?

小伙伴们不要嫌弃,接下来我们看一下如何自定义vtype,代码:

//验证ip地址
Ext.apply(Ext.form.field.VTypes, {
    IPAddress: function (v) {
        return /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(v);
    },
    IPAddressText: ‘只能输入ip地址‘,
    IPAddressMask: /[\d\.]/i
});

用法:

{
    xtype: "textfield",
    name: "ip",
    fieldLabel: "IP地址",
    vtype: "IPAddress"
}

效果:

欢迎小伙伴们加入我们的“ExtJS 互助团”QQ群:2257136296

这篇文章还发布在了我的个人网站上面,链接地址:http://www.qeefee.com/article/extjs-starter-03-form-validation

ExtJS入门教程03,form中怎能没有validation,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。