Thanks!
I think I followed your directions but I can't get it to show validated when my two fields are the same.
Here is my code
Code:
Ext.define('RegistrationApp.view.override.PasswordConfirm', {
override: 'RegistrationApp.view.PasswordConfirm',
vtype: 'password'
}, function() {
Ext.apply(Ext.form.field.VTypes, {
password : function(val, field) {
if (field.initialPassField) {
var container = field.up('form');
if (!container) {
container = field.up("container");
}
var pwd = container.down('#' + field.initialPassField);
if (!pwd) {
pwd = container.down('[name=' + initialPassField + ']');
}
return (val == pwd.getValue());
}
return true;
},
passwordText : 'Password Confirmation',
});
});
Code:
Ext.define('RegistrationApp.view.PasswordConfirm', {
extend: 'Ext.form.field.Text',
alias: 'widget.passwordconfirm',
requires: [
'RegistrationApp.view.override.PasswordConfirm'
],
initialPassField: 'password',
inputType: 'password',
initComponent: function() {
var me = this;
me.callParent(arguments);
}
});
Code:
Ext.define('RegistrationApp.view.createAccount', {
extend: 'Ext.form.Panel',
alias: 'widget.createAccountAlias',
requires: [
'RegistrationApp.view.PasswordConfirm'
],
itemId: 'CreateAccount',
bodyPadding: 10,
title: 'My Form',
initComponent: function() {
var me = this;
Ext.applyIf(me, {
dockedItems: [
{
xtype: 'toolbar',
dock: 'top',
itemId: 'ToolBarAttendeeSpeaker',
layout: {
pack: 'end',
type: 'hbox'
},
items: [
{
xtype: 'button',
disabled: false,
itemId: 'backButtonId',
iconAlign: 'right',
text: 'Back'
},
{
xtype: 'tbseparator'
},
{
xtype: 'button',
formBind: true,
disabled: true,
itemId: 'continueButtonId',
iconAlign: 'right',
text: 'Continue'
}
]
}
],
items: [
{
xtype: 'textfield',
itemId: 'username',
width: 300,
inputId: 'username',
fieldLabel: 'Username',
allowBlank: false
},
{
xtype: 'textfield',
itemId: 'password',
width: 300,
inputId: 'password',
inputType: 'password',
fieldLabel: 'Password',
allowBlank: false
},
{
xtype: 'passwordconfirm',
width: 300,
fieldLabel: 'Confirm Password'
},
{
xtype: 'textfield',
itemId: 'email',
inputId: 'email',
fieldLabel: 'Email Address',
allowBlank: false,
vtype: 'email'
}
]
});
me.callParent(arguments);
}
});