我想在Kohana Auth中使用数字作为用户名。例如,用户名100001? 添加新用户Kohana时返回错误:ORM_Validation_Exception [0]:无法验证数组 用户号码是否可以作为Kohana的用户名?
答案 0 :(得分:0)
编辑: This answer看起来比我的更简单,更好,但尝试理解它。
您需要扩展用户模型,我将帮助您使用带有ORM驱动程序的auth。
扩展用户模型的步骤:
如果您还没有,请将Auth模块配置为使用orm并使用所需字段创建数据库表。 Here is a good example如何做到这一点(这是一个使用ko3.1的旧教程,但你仍然可以从中学习)。 PS。:您可以在“用户”表中添加任何列,如果不需要,则无需拥有“用户名”列。
打开并仔细阅读此文件:MODULES/orm/classes/model/auth/user.php
(这是自我记录的,我希望您理解它。如果没有,请在此处阅读此答案并阅读kohana文档。一些快捷方式:{{3} },Auth - Kohana User Guide,Auth (orm) methods
将文件(不要编辑原文)复制到APPPATH/classes/model/auth/user.php
并根据需要进行编辑。您可能要修改的一些功能是:rules
,filters
和unique_key
(< - 有用)。要有创意,您还可以添加自定义功能。
测试并更改其他所需的内容。
您可以根据需要更改登录方法。您可以通过电子邮件设置登录,创建自定义验证方法或在保存到数据库之前解析值(请参阅public function filters()
)。这对于使用ORM尝试使用auth模块的任何操作都很有用......但是......如果你真的不想使用ORM,你可以构建自己的驱动程序,addons:auth。
我前段时间在 kohana 3.2 中做了这个,但我认为3.3不会出现问题。如果您仍有疑问,请在kohana论坛上learn how提供帮助。