2

我正在查看 ExtJS 的密码强度实现,并遇到了这个特定的实现,

ExtJS4 密码的密码强度计。

这是使用 ExtJS 4 实现的,我希望将它与 ExtJS 3 一起使用。我尝试了一些选项,但想不通。

请让我知道我是否需要做一些特定的事情才能让它与 ExtJS 3 一起使用。

如果有帮助的话,这里是这个插件的Github 链接

4

3 回答 3

5

在我的几个项目中,我使用了这个小部件: Ext.ux.PasswordMeter

它运作良好,所以我认为您也可以查看它。

于 2011-06-27T13:04:22.247 回答
4

似乎很容易。你要做的就是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);

这应该足以让你开始。

于 2011-06-27T12:57:38.763 回答
2

我将 Ext.ux.PasswordMeter 修改为与 Ext JS 4 兼容。这是代码:我的博客

请随时给我反馈。

于 2011-10-27T18:42:41.833 回答