如何在Sencha Architect 3.0中为表单字段验证创建自定义vtypes。我只找到了一种方法来包含已经内置的类型,但我想创建一个自定义类型并包含它。
答案 0 :(得分:3)
定义vtype
Ext.apply(Ext.form.field.VTypes, {
myFancyValidator: function(val, field) {
//... returns true if valid, false if not
}
}
在项目检查器上,浏览到要验证的字段/编辑器
答案 1 :(得分:0)
在建筑师内部,点击项目检查器中的+ 添加菜单。
选择资源 - > JS资源。
将URL设置为某个位置(resources / myVtypes.js)*这是一个文件系统位置,因此除非您需要根目录,否则不要包含路径斜杠。
右键单击资源并选择编辑代码 - 这将显示出来 一个空白文件,您可以将该类粘贴到 - 并在架构师中编辑它。
正常保存项目以更新资源。
答案 2 :(得分:-1)
此处为验证密码数字创建自定义vtype的示例示例:
Ext.define('Ext.form.field.VTypes', {
pin: /(?!(.)\1\1).{3}/,
init: function () {
var me = this;
//pin number
this.pinFn();
//etc..
},
pinFn:function () {
var me = this;
Ext.apply(Ext.form.field.VTypes, {
pin:function (val, field) {
//check value
return me.pin.test(val);
},
pinText: 'Wrong PIN number (numbers cannot be identical)'
});
}
});
创建后,您可以在表单中加入
{
fieldLabel:' PIN码',
名称:' pin',
minLength:4,
maxLength:4,
vtype:' pin' // coustom vtype
},