昨晚写了一小段代码:
Ext.apply(Ext.form.VTypes, {
name: function (val) {// val指这里的文本框值,要明白这个意思
var index = Grid_Store.find("name", val);
return index == -1 ? true : false;
},
vtypeText: "已存在此XXX!"
});
我们做ext表单的时候,有些文本框内容是不允许有与本身存在的数据相等的;
解决:把表单数据传到数据访问层操作,返回相应的信息,或者直接在界面代码上做限制;
如果结果返回true,表示验证成功;
同样,注册的密码重复也可以直接验证,代码参考了网上的:
Ext.apply(Ext.form.VTypes, {
password : function(val, field) {// val指文本框值,field指文本框组件
if (field.confirmTo) {
var paw = Ext.get(field.confirmTo);
return (val == paw.getValue());
}
}
});
// 配置items参数
items : [{
fieldLabel : "密码",
id : "paw"
}, {
fieldLabel : "确认密码",
id : "pawC",
vtype : "password",// 自定义的验证类型
vtypeText : "两次密码不一致!",
confirmTo : "paw"// 要比较的另外一个的组件的id
}];
不知道有没有错误或者不够完善的地方,请指出yeah