Реализация надежности пароля ExtJS

Я смотрел на реализацию надежности пароля с помощью ExtJS и наткнулся на эту конкретную реализацию,

Измеритель надежности паролей для ExtJS4.

Это реализовано с использованием ExtJS 4, и я хотел использовать его с ExtJS 3. Я попробовал несколько вариантов, но не смог многого понять.

Пожалуйста, дайте мне знать, если есть что-то конкретное, что мне нужно сделать, чтобы заставить его работать с ExtJS 3.

Вот Ссылка на Github для этого плагина, если это поможет.


person dkris    schedule 27.06.2011    source источник


Ответы (3)


В нескольких своих проектах я использовал этот виджет: Ext.ux. PasswordMeter

Это сработало хорошо, поэтому я думаю, что вы тоже можете проверить это.

person Andron    schedule 27.06.2011
comment
Ссылка была мертва, и мне пришлось написать создателю по электронной почте и получить ссылку обратно. Использовал его в моем проекте сейчас. Спасибо за предложение. - person dkris; 29.06.2011
comment
Почему мертвый? Только что проверил, работает хорошо: активная ссылка. - person Andron; 13.05.2014
comment
Как я уже сказал, мне пришлось написать создателю по электронной почте, чтобы ссылка снова заработала. Ссылка не работала. - person dkris; 13.05.2014
comment
Хорошо, спасибо. Я добавил комментарий только для будущих читателей, чтобы они могли быть уверены, что он работает сейчас :) - person Andron; 13.05.2014

Кажется достаточно легким. Все, что вам нужно сделать, это расширить класс Ext.form.TextField с помощью той же логики. Они обрабатывают фактическую «силу» с помощью события onFieldChange, которого в Ext 3 не существует, насколько я вижу в документах, но вы можете легко сделать то же самое с событием keyup : ( Ext.form.TextField this, Ext.EventObject e ).

Взгляните на источник и убедитесь, что они определяют 2 функции, processValue и scorePassword. Вы можете напрямую скопировать эти функции, а затем реализовать функцию keyup для их использования.

Вы бы создали класс:

    Ext.form.PasswordStrength = Ext.extend(Ext.form.TextField, {


        initComponent: function () {

           // write your code, functions, etc here

            // default values you want for your TextField
            var config = {

            }

            Ext.apply(this, config);

            Ext.form.PasswordStrength.superclass.initComponent(this);

        }
    });

   // register an xtype
    Ext.reg("passwordstrength", Ext.form.PasswordStrength);

Этого должно быть достаточно, чтобы вы начали.

person dmackerman    schedule 27.06.2011
comment
Большое Вам спасибо. Завтра попробую, отпишусь как получилось :) - person dkris; 28.06.2011

Я изменил Ext.ux.PasswordMeter, чтобы он был совместим с Ext JS 4. Вот код: мой блог

пожалуйста чувствуйте свободным дать мне обратную связь.

person Yiyu Jia    schedule 27.10.2011