2012-07-27 51 views
1

Simple Authentication in Lithium教程的登录表单有没有什么方法使用Validator?我知道在模型中使用验证更好,但登录表单中没有模型,所以,据我所知,我需要在SessionsController中使用验证器,但我不知道如何去做(锂和验证登录表单(没有模型) - 如何?

我所试图做的是在SessionsController:

​​

,我想到的是空的形式发出后,它将被错误的用户创建的教程中呈现,但一样没有错误显示,只需再次登录表格,我可以验证没有型号的表格,以及如何在锂电池上做这些表格吗?

预先致谢。

+0

没有用户和/或会话模型?你想如何检查密码或电子邮件? – 2012-07-27 12:20:29

+0

我有用户模型。我想要做的是在登录表单中检查输入,如果电子邮件或密码为空 - 在表单的输入框下显示错误,就像在用户创建教程中一样。为什么我需要模型? – Drone 2012-07-27 12:53:43

+0

验证规则绑定到模型实体(用户)。控制器角色仅用于获取传入数据(来自POST表单),调用包含业务规则的模型,并呈现响应(视图,文件或纯文本或其他任何内容)。在你的情况下,更容易检查$ this-> request-> data ['password']是否为空。如果你需要帮助和例子,请通过IRC#li3打开。 – 2012-07-27 13:41:44

回答

4

表单中呈现的错误绑定到实体,当您使用$this->form->create($user)创建实体时,该实体将绑定到该实体。仅在这种情况下,由于自动使用表单助手,会显示错误。

如果您需要的是检查,控制器,输入数据,您可以检查$this->request->data['password']以及为什么你不回,你需要自己在表单视图处理(与if (!empty($errors))例如)错误

+0

是的!我只是明白了。谢谢你给我展示的方式!我已经通过向实体发送错误()向登录失败后的表单助手完成了工作,现在它就像一个魅力一样。确实,所有文档都放在了Lithium的源代码中。再次感谢你!对不起,我不能投票 - 没有足够的代表。 – Drone 2012-07-27 14:02:24