gpt4 book ai didi

extjs - 自定义 Vtype 的替代解决方案?

转载 作者:行者123 更新时间:2023-12-01 09:49:40 25 4
gpt4 key购买 nike

我试图在我的程序中使用自定义 Vtype。这里有很多人试图帮助我。但我无法从中得到太多好处。这是我的代码。

Ext.apply(Ext.form.VTypes, {
password: function(val, field) {
if (field.initialPassField) {
var pwd = Ext.getCmp(field.initialPassField);
return (val == pwd.getValue());
}
return true;
},
passwordText: 'What are you doing?<br/>The passwords entered
do not match!'
});

我将此代码包含在应用程序的“启动”功能中,并将 vtype 更改为“密码”。有效。这是正确的方法吗?但是我得到了结果。如果我错了并且有其他方法可用,请通知我。这是我在应用程序中的启动功能。

Ext.Loader.setConfig({
enabled: true
});

Ext.application({
views: [
'signupForm'
],
autoCreateViewport: true,
name: 'MyApp',

launch: function() {
Ext.apply(Ext.form.VTypes, {
password: function(val, field) {
if (field.initialPassField) {
var pwd = Ext.getCmp(field.initialPassField);
return (val == pwd.getValue());
}
return true;
},
passwordText: 'What are you doing?<br/>The passwords entered do not match!'
});
}

});

谢谢

最佳答案

您可以在下面的代码中找到您的答案。

Ext.onReady(function() {    
Ext.apply(Ext.form.VTypes, {
password: function(val, field) {
if (field.initialPassField) {
var pwd = field.up('form').getForm().findField("initialPassField");
return (val == pwd.getValue());
}
return true;
},
passwordText: 'What are you doing?<br/>The passwords entered do not match!'
});

Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,
height : 400,

defaultType: 'textfield',
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank: false
},{
fieldLabel: 'Password',
name: 'last',
initialPassField : true,
vtype : 'password',
inputType : 'password',
allowBlank: false
}, {
name: 'initialPassField',
hidden : true,
value : 'Ajith'
}],
renderTo: Ext.getBody()
});
});

编写自定义 VType 是验证表单字段的最佳方式。

关于extjs - 自定义 Vtype 的替代解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com