Web2py:如何让密码字段显示" *"用户输入密码时的点数或点数?

时间:2016-03-09 18:27:21

标签: web passwords web2py

我是一个天真的程序员,目前正在使用web2py创建一个Web应用程序。在网站上,我要求用户先输入密码。在models部分中,在db.py中我编写了以下用于输入密码的代码:

db = DAL('sqlite://webform.sqlite')
db.define_table('register',
    Field('password', requires=[IS_NOT_EMPTY(),IS_MATCH('somepassword',error_message='Invalid password')]));

在这里,' somepassword'只是我为测试提供的预定义密码。

如何让字段显示" *"用户输入密码时的点数或点数?如下图所示?

Image

1 个答案:

答案 0 :(得分:1)

DAL有一个密码字段类型:

    Field('password', 'password', requires=CRYPT(min_length=8))

默认情况下,密码类型字段会在SQLFORM.widget.password.widget中获取SQLFORM小部件(您也可以通过"小部件"参数在任何字段上手动设置)。 HTML输入类型将设置为"密码"。

如上所示,还建议您不要将密码存储为纯文本,而是存储密码的哈希值,这是CRYPT验证器所做的(它也可用于强制执行最小值)密码长度)。您可以通过IS_STRONG验证程序指定其他密码复杂性要求(但请确保在<{em> CRYPT验证程序之前应用验证程序,因为后者会转换密码)。