Extjs 6.2现代形式增加了自己的验证器
extjs 6.2 modern form add own validator
如何在extjs 6.2.0现代应用程序中添加自表单验证器?在经典:
validator : function(value){
//do something
}
这当然取决于您想要什么,但例如,我最近所做的是使用与ViewModel的绑定添加验证器(似乎在经典和现代工具包中都有效)。对于你的需求来说,这肯定是过于复杂了,但看起来ViewModel与公式的绑定很适合电子邮件验证。
形式:
Ext.define('App.login.LoginForm', {
extend: 'Ext.form.Panel',
requires: [ 'App.login.LoginModel' ],
viewModel: {
type: 'login' // references alias "viewmodel.login"
},
layout: 'vbox',
defaultType: 'textfield',
items: [{
name: 'login',
itemId: 'login-fld',
bind: '{credentials.login}'
},{
inputType: 'password',
name: 'password',
bind: '{credentials.password}'
},{
xtype: 'button',
text: 'Submit',
action: 'save',
bind: {
disabled: '{!isCredentialsOk}'
}
}]
});
ViewModel:
Ext.define("App.login.LoginViewModel", {
extend: "Ext.app.ViewModel",
alias: 'viewmodel.login',
links: {
credentials: {
reference: 'App.login.LoginModel',
create: true
}
},
formulas: {
isCredentialsOk: function (get) {
return Boolean(get('credentials.login') && get('credentials.password'));
}
}
});
模型:
Ext.define('App.login.LoginModel', {
extend: 'Ext.data.Model',
fields: [
{ name: 'login', type: 'string', allowBlank: false },
{ name: 'password', type: 'string', allowBlank: false }
],
validators: [
{ field: 'login', type: 'presence', message: 'Login empty' },
{ field: 'password', type: 'presence', message: 'Password empty' }
]
});
相关文章:
- 按我自己的类克隆另一个元素的内容和顺序
- 如何配置分析以将数据发送到我自己的服务器
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 创造自己的智能
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 从自己的安全系统中重新找回自己
- 麻烦将coffee脚本片段移动到rails中自己的类中
- 从我自己的脚本中包含的Javascript文件中调用一个函数
- 让我自己的过滤器不工作
- 消隐数组元素是否生成自己的属性
- JavaScript子对象访问自己的值
- Selenium异步脚本在自己的线程中阻塞其他脚本
- Extjs:增加JsonStore的大小
- 为什么对象的函数值没有自己的作用域
- 我怎样才能给数组中的每个对象赋予它们自己的键
- 制作我自己的加密/解密系统
- 我如何才能使数组中的按钮只对其作出响应'使用javascript的自己的包装器
- NodeJS:一个全局EventEmitter或每个模块它'他自己的
- 如何将我自己的按钮连接到下载库
- Extjs 6.2现代形式增加了自己的验证器