#extjs6
#extjs6
Вопрос:
Я следовал руководству по Extjs, у меня было такое представление (YourTurn.js )
Ext.define('Student.view.main.YourTurn', {
extend: 'Ext.window.Window',
xtype: 'mainyour',
requires: [
'Student.view.main.YourTurnController',
'Ext.form.Panel'
],
autoShow: true,
height: 170,
width: 360,
layout: {
type: 'fit'
},
iconCls: 'key',
title: "Login",
closeAction: 'hide',
closable: false,
items: [{
xtype: 'form',
frame: false,
bodyPadding: 15,
defaults: {
xtype: 'textfield',
anchor: '100%',
labelWidth: 60
},
items: [{
name: 'user',
fieldLabel: "User",
allowBlank:false,
vtype:'alphanum',
minLenght:3,
msgTarget:'under',
}, {
inputType: 'password',
name: 'password',
fieldLabel: "Password",
maxLength:15,
allowBlank:false,
vtype:'alphanum',
minLenght:3,
msgTarget:'under',
}]
}]
});
и у меня был контроллер этого представления (YourTurnController.JS) вот так :
Ext.define('Student.view.main.YourTurnController', {
extend: 'Ext.app.ViewController',
alias: 'controller.yourturncontroller',
Ext.apply(Ext.form.field.VTypes, {
customPass: function(val, field) {
return /^((?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})/.
test(val);
},
customPassText: 'Not a valid password. Length must be at least
6 characters and maximum of 20 Password must contain one digit,
one
letter lowercase,
one letter uppercase,
onse special symbol @ # $ % and
between 6 and 20 characters.
',
});
Он должен подтвердить, что значение vlaue для ввода в текстовое поле должно быть в диапазоне 0-9, с маленькой и заглавной буквой .. и т.д., Но это не сработало, я получил эту ошибку в brower (chrome) :
YourTurnController.js?_dc=1477341018794:5 Uncaught SyntaxError: Unexpected token .
ext-all-rtl-debug.js?_dc=1477341016439:9126 [E] [Loader] The following classes failed to load:log @ ext-all-rtl-debug.js?_dc=1477341016439:9126logx @ ext-all-rtl-debug.js?_dc=1477341016439:9162Ext.apply.log.log.error @ ext-all-rtl-debug.js?_dc=1477341016439:9165(anonymous function) @ ext-all-rtl-debug.js?_
пожалуйста, кто-нибудь может помочь мне понять, что я сделал не так?
Комментарии:
1. Можете ли вы добавить скрипку?
Ответ №1:
вам следует рассмотреть возможность использования прослушивателя для проверки типа ввода вашего пароля.
Попробуйте эту ссылку на документ для прослушивателя изменений:
http://docs.sencha.com/extjs/6.2.0/classic/Ext.form.field.Text.html#event-change