cakephp : 使用 $validate 数组验证登录表单

Posted

技术标签:

【中文标题】cakephp : 使用 $validate 数组验证登录表单【英文标题】:cakephp : validating a login Form using $validate array 【发布时间】:2010-09-14 10:03:54 【问题描述】:

谁能帮我在 cakephp 中验证登录表单? 我需要验证登录表单,就像我们在模型中使用 $validate 数组验证注册表单一样。

编辑: 因为我使用 Auth 组件进行身份验证。它直接进入 Auth 组件中的登录操作,而无需从用户模型进行验证。因此即使我只是按下登录按钮而不提供任何用户名或密码,它也只会将错误消息显示为“无效的用户名/密码”。我需要如果用户名留空,则在用户名文本框旁边显示无效用户名

任何帮助将不胜感激。

【问题讨论】:

您到底尝试了什么?有什么问题? @halfdan :请参阅编辑。 【参考方案1】:

有什么理由不使用基于 javascript 的验证吗?是否有特定需要使用用户模型?

【讨论】:

【参考方案2】:

查看您的代码会很有帮助。但是,从它的声音来看,您想显示他们尝试使用的用户名。请记住,视图和变量没有什么神奇之处。因此,要显示他们尝试使用的电子邮件地址,您只需将其放回文本字段中(或将其放在您想要的任何位置)。我将向您展示这两种选择:

// back in the text field - login function in users_controller.php
function login() 
   $this->set('username', $this->data['User']['username']);


// to echo it outside of the text box
function login() 
   $this->set('uname', $this->data['User']['username']);

然后在视图中,您将执行以下操作:

<?php
  if (!empty($uname)) 
     echo $uname;
  
?>

编码愉快!

【讨论】:

以上是关于cakephp : 使用 $validate 数组验证登录表单的主要内容,如果未能解决你的问题,请参考以下文章

当 cakephp 4 中没有文件上传时避免 mimeType 验证

在 Cakephp 3 中保存关联模型

SaveField Cakephp 验证

CakePHP saveAll 方法

CakePHP:向多个地址发送电子邮件

CakePHP:在整个数组上使用 Inflector 类