minLength 数据验证不适用于 CakePHP 的 Auth 组件

2023-12-10

假设我有一个用户注册并且正在使用 Auth 组件(当然允许 /user/register)。

问题是,如果我需要在模型中设置 minLength 验证规则,它不起作用,因为 Auth 组件会对密码进行哈希处理,因此它始终大于我的 minlength 密码,即使它为空,它也会通过。

我该如何解决这个问题?提前致谢!


本质上,您必须重命名密码字段(例如,重命名为“pw”)以防止 Auth 组件自动对其进行哈希处理。然后,如果密码通过验证规则,则对其进行哈希处理并将哈希值保存在password钥匙。这通常是在beforeFilter()回调为本文描述。

还可以在控制器中验证数据并对密码进行哈希处理。通常不鼓励这种做法,但如果您刚刚开始使用 CakePHP,那么可能会更容易理解。

// this code would go after: if (!empty($this->data)  
//               and before: $this->User->save($this->data)

// validate the data
$this->User->set($this->data);
if ($this->User->validates()) {

    // hash the password
    $password_hash = $this->Auth->password($this->data['User']['pw'];
    $this->data['User']['password'] = $password_hash;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

minLength 数据验证不适用于 CakePHP 的 Auth 组件 的相关文章

  • 如何使用第三方 JS 组件进行 Angular2/4 验证

    当谈到 Angular 2 验证时 我看到了不同的方法 基本方法是使用 HTML5 和模板 模型绑定或带有指定验证器的表单 然而 当涉及到特殊规则时 它需要大量编码 并且模板绑定 因此没有表单 通常会导致验证分散在 HTML 和 TS 代码
  • AWS Cognito 作为网站的 Django 身份验证后端

    我对 Cognito 的理解是 它可以用来代替本地 Django 管理数据库来对网站的用户进行身份验证 然而 我没有找到任何带有通过 Cognito 登录屏幕的基本 Hello World 应用程序的详细示例 如果有人可以发布一篇文章 逐步
  • 需要正则表达式。仅匹配数字和空格的固定长度字段

    我正在尝试获得注册 表达式匹配正好 11 位数字或 0 到 10 位数字 并用空格填充到 11 个字符 x20 Match 12345678901 123 Don t Match 5678901 123 78901 123 789 表达方式
  • 将 step="1" 放入“datetime-local”输入类型时,jQuery 验证失败

    我在用着https jqueryvalidation org https jqueryvalidation org 表单验证插件 当我把step 1 in a datetime local输入字段显示秒数 如果我使用插件验证该字段 例如 只
  • Groovy:验证 JSON 字符串

    我需要检查 Groovy 中的字符串是否为有效的 JSON 我的第一个想法就是把它发送出去new JsonSlurper parseText myString 并且 如果没有例外 就假设它是正确的 然而 我发现 Groovy 很乐意接受尾随
  • React-hook-form 文本字段的条件验证,基于是否选中另一个复选框?

    我正在尝试向文本字段添加验证规则 如果选中表单中的单独复选框 则该字段必须是非空字符串才能提交表单 这是我到目前为止所拥有的内容的链接 https codesandbox io s magical hypatia n7o5w https c
  • 如何删除 CakePHP 的尾随计时基准注释

    我已经解决这个可怕的问题几个小时了 尽我所能在谷歌上搜索 但仍然不幸找到解决方案 问题是 CakdPHP 渲染的每个页面都有一个默认的尾随计时基准注释 例如 如何删除最后一行 在此处输入代码 core php or anywhere els
  • 阻止表单 POSTing,直到 javascript 代码得到满足

    每当我点击提交按钮时它就会触发alert empty username 但直接引导我去checklogin php 我怎样才能避免这种情况并让它保留在页面上 除非该字段不为空 function RequiredFields var user
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • Codeigniter:重置表单值

    在我看来 我想要做的是在用户成功注册后清除表单字段 这里一切正常 即用户正在注册 成功消息正在向用户显示 除了我想要做的是清除表单字段的值 我正在使用这个 Clear the form validation field data so th
  • 使用 jQuery 检查输入是否为空

    我有一个表单 我希望填写所有字段 如果单击某个字段然后未填写 我想显示红色背景 这是我的代码 apply form input blur function if input text is empty this parents p addC
  • 如何验证magento中的单选按钮?

    在我的自定义模块中 我有一个带有单选按钮的表单 当我单击提交按钮时 它不会验证单选按钮 如何使用 Magento 默认验证类进行验证 Thanks 我得到了答案 use validate one required by name在单选按钮的
  • 免费 PHP 登录库 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何为名称为数组的 jquery 表单验证插件创建规则?

    有谁知道当您有一个数组的名称属性时如何为 jquery 表单验证插件创建规则 eg
  • 角度 2 通道数组到自定义验证器(模板驱动形式)

    我需要将一个对象数组传递给 a2 自定义验证器 然后我想根据该数组中的记录验证模板驱动表单字段的值 但是我无法检索验证器内的对象 我唯一能看到的是它的名称作为字符串 如有任何帮助 我们将不胜感激
  • 确定 C 字符串是否是 C 中的有效 int

    我需要检查 C 字符串是否是有效整数 我都尝试过 int num atoi str and int res sscanf str d num 但发送字符串 8 9 10 这两行都仅返回 8 而没有指示该字符串的无效性 谁能提出替代方案 看看
  • 用于验证目的的动态查找方法

    我正在使用 Ruby on Rails 3 0 7 我想在运行时查找一些记录以进行验证 但为该查找方法传递 设置一个值 也就是说 在我的班级中 我有以下内容 class Group lt lt ActiveRecord Base valid
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • cakephp 无法在 Ubuntu 上进行 url 重写

    全部 这次我尝试 cakephp 但我得到了 您的服务器上的 URL 重写未正确配置 1 帮我配置它 2 我不 不能使用 URL 重写 我可以知道这是 apache 和 htaccess 问题 例如 etc apache2 sites av
  • iOS 相互认证

    我正在尝试在 IOS 5 中实现相互身份验证 但遇到了麻烦 NSUnderlyingError Error Domain kCFErrorDomainCFNetwork Code 1200 An SSL error has occurred

随机推荐

  • Google Apps 脚本表单:e.namedValues 不记录任何内容

    我有一个非常基本的 Google Apps 表单 其中包含两个问题 资源 带有两个选项的单选按钮 和名称 文本字段 我想在提交时选择表单值 因此我设置了一个触发器 在表单提交时 来调用函数 function onFormSubmit e L
  • Perl,使脚本在x秒后超时?

    我一直在搜索这个问题 但令人惊讶的是很难得到一个直接的答案 因为 php 似乎有关于这个主题的更多信息 我需要让我的 perl 脚本在指定的秒数后终止 因为 就像现在一样 它们运行时间太长并堵塞了我的系统 我怎样才能使整个脚本在指定的秒数后
  • Java-改变秋千背景颜色?

    好的 我得到了一个使用 系统 外观的 Swing 应用程序 现在 我想将主面板的背景颜色更改为黑色 太容易了吧 UIManager put Panel background Color BLACK 是的 除了现在应用程序中的控件看起来很愚蠢
  • 如何获取 Windows 中所有打开的命名管道的列表?

    有没有一种简单的方法来测试命名管道是否正常工作 我想确保从应用程序发送的数据确实已发送 有没有一种快速简便的方法来获取所有命名管道的列表 在 Windows Powershell 控制台中 键入 System IO Directory Ge
  • 无法保存/传递父级对组合对象的引用

    在 C 中 它会是这样的struct A由 组成struct B和一些功能B获取指向父对象的指针A 所以函数为A调用该函数B将简单地通过this指向它的指针 我正在 Rust 中尝试此操作 但未能使其正常工作 这就是我想要实现的目标 str
  • 从经典 ASP 调用 COM 对象

    如何从经典 ASP 调用 COM 对象 我努力尝试但找不到好的教程 有什么建议吗 我在经典 ASP 中使用 C 要在经典 ASP 中实例化 COM 对象 Dim rs Set rs Server CreateObject ADODB Rec
  • lxml.html。读取文件时出错;无法加载外部实体

    我正在尝试使用 lxml html 解析从 YouTube 获取电影预告片 url from lxml import html import lxml html from lxml etree import XPath def get yo
  • solr 数据导入错误:索引失败。回滚所有更改

    当我运行 完全导入并清理 命令时 错误是 索引失败 回滚所有更改 我的数据导入配置文件
  • iAds 不适用于 iPad 应用程序吗?

    我有一个 iPad 应用程序 它需要 iAds 但在库中我找不到广告横幅视图 iAds 不适用于 iPad 吗 我使用的是 iOS SDK 4 1 在 iPad 应用程序中实施的其他替代方案是什么 您需要使用 iOS SDK 4 2 因为
  • ScalaTest 可以在没有同步调用的情况下检测超时吗(比如在无限循环中?)

    在下面的代码中 测试称为sleep优雅地失败 而测试freeze导致测试永远不会结束 import org scalatest FunSuite import org scalatest concurrent TimeLimitedTest
  • 如何将 C++ wstring UTF-8 字符打印到 Mac OS 或 Unix 终端?

    我怎样才能打印一个std wstring using std wcout 我尝试了以下推荐的方法here 但它仅适用于打印此 Hola 但不是这个日本 include
  • 在应用颜色的同时对图像应用阴影

    我正在根据 HSV 的 3 个滑块值更改汽车的颜色 我可以改变颜色 但感觉就像油漆 颜色改变后的图像没有原创性 我如何应用阴影和效果 我如何应用输入图像中的阴影和效果 您好 您可以参考下面的 C 代码 这里我仅更改色调值 如果您想更改饱和度
  • 在 C++ 中的向量向量上使用“unique()”

    我希望这不是一个重复的问题 但如果是 请随时为我指出正确的方向 我有一个vector
  • 当不支持-XX:+PrintFlagsFinal时如何找到默认的MaxPermSize?

    我正在使用一个系统 其中可以同时启动许多作为 Java 应用程序实现的作业 每个作业都在单独的 JVM 中运行 其中一些工作需要比其他工作更大的永久元大小 然而 由于操作系统内存有限 让所有作业都使用最大值是不可行的 因此 我想指定 XX
  • eWay支付网关

    我正在尝试实现来自 eway 澳大利亚 的定期网络服务 但是我无法让它工作 我不断收到消息 命名空间 中的元素 rebillCustomerCreate http www eway com au gateway rebill manageR
  • 使用 gspread 将 CSV 上传到 Google 表格

    我有一个 Json 对象需要上传到 Google 电子表格 我搜索并阅读了各种资源 但找不到解决方案 有没有办法使用 gspread 将对象或 csv 从本地上传到谷歌电子表格 我宁愿不使用谷歌客户端API 谢谢 您可以使用导入 CSV 数
  • Pandas 中数据为负时为红线,数据为正时为绿线

    I wanted to have the data in this graph as red when y is below 0 and green when it is above 0 我正在尝试这个 但没有成功 import panda
  • Mysql - 存储过程 OUT 变量返回 null

    我的表结构是 DROP TABLE IF EXISTS child CREATE TABLE child id int 11 NOT NULL AUTO INCREMENT name varchar 255 NOT NULL PRIMARY
  • 删除向量中大于 value 的元素

    我需要删除元素 我正在用误差线绘制 所以我需要从下面的所有四个向量中删除该数据点 其中diff向量大于 2 std 这是我的想法 for i in 1 length Z if diff i gt 2 std Z i lt NULL ucl
  • minLength 数据验证不适用于 CakePHP 的 Auth 组件

    假设我有一个用户注册并且正在使用 Auth 组件 当然允许 user register 问题是 如果我需要在模型中设置 minLength 验证规则 它不起作用 因为 Auth 组件会对密码进行哈希处理 因此它始终大于我的 minlengt