我正在查看 ExtJS 的密码强度实现,并遇到了这个特定的实现,
这是使用 ExtJS 4 实现的,我希望将它与 ExtJS 3 一起使用。我尝试了一些选项,但想不通。
请让我知道我是否需要做一些特定的事情才能让它与 ExtJS 3 一起使用。
如果有帮助的话,这里是这个插件的Github 链接。
我正在查看 ExtJS 的密码强度实现,并遇到了这个特定的实现,
这是使用 ExtJS 4 实现的,我希望将它与 ExtJS 3 一起使用。我尝试了一些选项,但想不通。
请让我知道我是否需要做一些特定的事情才能让它与 ExtJS 3 一起使用。
如果有帮助的话,这里是这个插件的Github 链接。
在我的几个项目中,我使用了这个小部件: Ext.ux.PasswordMeter
它运作良好,所以我认为您也可以查看它。
似乎很容易。你要做的就是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);
这应该足以让你开始。
我将 Ext.ux.PasswordMeter 修改为与 Ext JS 4 兼容。这是代码:我的博客
请随时给我反馈。