挂钩 Drupal 注册并根据业务逻辑验证用户信息

2023-12-29

我想挂接到注册模块。我已经拥有一个包含 50000 个使用我的旧网站的用户的数据库。现在我正在迁移到 Drupal。

我还没有将条目迁移到 drupal 数据库。我将检查我的旧数据库。

当用户尝试在 Drupal 中注册时,我需要检查他提供的用户名是否已经存在于 50000 个(并且还在不断增长)条目的列表中。如果存在,我需要取消注册,显示一条错误消息,指出用户名存在。

我应该使用哪个钩子?如果我的代码显示验证失败,我如何告诉 drupal 显示错误消息?

编辑:我连接到 hook_user 并检查“验证”操作。我能够验证并分配错误消息。但这种情况正在以各种形式发生。我只想验证新帐户创建表单。我怎样才能做到这一点?

Thanks.


您应该使用以下方法为注册表单注册一个额外的验证回调函数hook_form_FORM_ID_alter() http://api.drupal.org/api/function/hook_form_FORM_ID_alter/6,有点像这样:

// Alter the registration form
function yourModuleName_form_user_register_alter(&$form, &$form_state) {
  // Add your own function to the array of validation callbacks
  $form['#validate'][] = 'yourModuleName_user_register_validate';
}

// Perform your own validation
function yourModuleName_user_register_validate($form, &$form_state) {
  // Extract the submitted name
  $name = $form_state['values']['name'];
  // Check it according to your own logic
  $is_valid_name = your_check_for_valid_name();
  // File error, when not valid
  if (!$is_valid) {
    form_set_error('name', t('Name already taken, please choose a different one'));
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

挂钩 Drupal 注册并根据业务逻辑验证用户信息 的相关文章

  • laravel 5.2 将数据传递到注册视图

    我正在使用 laravel 5 2 我编写了以下命令来自动添加身份验证的路由和视图 php artisan make auth 现在我想将数据传递到注册视图 但我找不到在哪里执行此操作 我认为应该使用如下代码 Route get regis
  • 为什么注册用户不起作用?

    我无法注册用户工作 只需重新登录页面 有人可以帮助我 form py class RegistroUserForm forms Form username forms CharField min length 5 widget forms
  • 防止在 C++ 中重新绘制窗口

    我正在编写一个全局钩子 DLL 它需要在窗口上使用 GDI 进行一些绘图以响应事件 我的问题是正在绘制的窗口不断重新绘制自身 因此我绘制的内容在我想要的之前就被删除了 有什么办法可以阻止窗户在我需要的时间内绘制任何东西吗 我的钩子目前是WH
  • 使用 WinAPI 挂钩对程序进行沙箱处理

    我想对本机代码进行沙箱处理 并使用 WinAPI 和系统函数的挂钩来阻止或允许该程序执行某些操作 例如读 写文件 修改 Windows 注册表 使用 Internet 连接 这是一种良好且安全的方法吗 该程序绕过这样的安全层有多困难 我已经
  • BitBucket WebHook 詹金斯

    我想配置 bitbucket 来触发 jenkins 构建 我花了一些时间研究这个问题 所有答案都来自几年前 但没有找到任何指南 因为从那以后事情似乎发生了变化 我正在尝试做的事情 将位桶推送到特定分支会触发构建 我有什么 Bitbucke
  • Swift 能抵抗 hooking 吗?

    Cycript 是一个基于控制台的应用程序 它是 Objective C 和 JavaScript 的混合体 Cycript 对于 iOS 应用程序的动态分析非常有用 如果您使用 Swift 编写任何方法或完整的 ipa 是否仍然可以在越狱
  • 注册一个全局钩子,检测鼠标是否拖动文件/文本

    我知道有可能为鼠标注册全局钩子 http www codeproject com KB cs globalhook aspx移动 按钮单击 滚动等 但我想知道是否有任何方法可以检测用户是否实际上使用全局挂钩拖动文件或文本 或其他内容 似乎找
  • 如何连接 Windows 中的其他程序?

    谁能解释一个程序如何挂钩并修改 Windows 中其他程序的行为 这怎么可能呢 Windows 程序是否不会保护自己免受其他程序进入其内存等的影响 我不知道它的内部结构是如何工作的 所以我只是说 进入他们的记忆 我敢打赌它比这更复杂 另外
  • “安全”DLL 注入

    抱歉 这不是一个很好的问题 我有一个程序 当从资源管理器打开文件时需要发出警报 即调用 ShellExecute A W 不幸的是 微软删除了允许您在 Vista 及更高版本中挂钩这些事件的 COM 接口 IShellExecuteHook
  • hook_user():将额外的字段插入数据库而不仅仅是表单

    我可以在注册中添加一个额外的字段 我需要知道的是我需要采取什么步骤来获取该输入并将其插入到 drupal 的用户表中 下面的代码位于我的模块中 它仅向表单添加一个字段 但是当提交时 它不会对数据执行任何操作 function perscri
  • Rails/Devise - 如何显示注册信息(不仅仅是编辑它)

    我今天安装了 Devise 到目前为止一切正常 devise 似乎唯一没有提供的是 registration show 操作 它显示用户信息 而不是注册编辑页面 我尝试覆盖注册控制器 但收到错误 未知操作 AbstractControlle
  • 如何为模板设置主题以进行编辑或添加特定内容类型的节点?

    我想为模板设置主题以进行编辑或添加特定内容类型的节点 例如 为了主题化所有内容类型表单 我使用该文件page node add edit tpl php 取决于我需要添加或编辑什么 但我没有找到自定义节点类型的模板名称 例如 产品 我只需要
  • 如何摆脱 Drupal CSS 样式表?

    我正在努力完成以下任务 我需要使用 Drupal 6 作为项目要求 但我想将它与我自己的 HTML 和 CSS 样式表一起用于每个节点 视图 面板等 问题是 无论什么主题 我总是发现 Drupal 适用于我的 HTML 内容 包括我的 CS
  • 从活动顶点数组生成平滑法线

    我正在尝试通过挂钩 OpenGl 调用来破解和修改旧版 opengl 固定管道游戏的多个渲染功能 而我当前的任务是实现着色器照明 我已经创建了一个适当的着色器程序 可以正确照亮大部分对象 但该游戏的地形是在没有提供正常数据的情况下绘制的 游
  • git pre-status 或 post-status hook

    我想运行 lintergit status 不过似乎没有pre status nor post status hook 如何给 git 添加一个 hook The 精美文档 https git scm com book en v2 Cust
  • Flutter Redux 和 Hook。如何像react一样观察useEffect内部变量实例的变化?

    我是 flutter 新手 试图观察像 React Native 这样处于减速器状态的变量 count 我使我的 redux 和 hook 工作完美 屏幕上的变量计数发生变化 但如果我更改操作 则永远不会再次调用 useEffect 仅一次
  • Mercurial hook 的操作类似于“changegroup”,但仅在推送时?

    我们已经构建了一个变更集传播机制 但它依赖于捆绑和解除捆绑新变更集 如果我们要使用changegroup钩子 那么它会导致循环行为 因为钩子是运行的在拉 推或解绑期间 http mercurial selenic com wiki Hook
  • 将 Fig.cap 设置为 options$label

    如何以编程方式在knitr hook 中设置图形标题 如果没有明确定义 我想将图形标题设置为块标签 我已经阅读了knitr文档options http yihui name knitr options options http yihui
  • WP 用户注册 - 也可以立即选择他/她的密码

    这是一个非常简短的前端注册指南 但我在密码方面遇到了一个小问题 我禁用了用户注册时发送的带有密码生成的电子邮件 Don t Send Notification Email To Registered User if function exi
  • 如何以编程方式创建论坛主题?

    我刚刚通过以下链接了解了如何以编程方式创建论坛和容器 http www unibia com unibianet drupal how create drupal forums and containers programmatically

随机推荐

  • 是否需要break语句或者return语句就足够了?

    在我的 Python 3 5 脚本中 我有一个简单的for循环 看起来像这样 request simple string ignore Tuple that contains regex s to ignore for i regex in
  • 如何访问 Heroku 中的 docker 容器?

    我已按照此处构建图像的说明进行操作 https devcenter heroku com articles container registry and runtime getting started https devcenter her
  • 在 Shiny 中按日期过滤

    作为一个可怜的闪亮家伙 无法解决简单的任务 我在数据框中有一行带有日期的行 crime date lt strptime incidents REPORT DAT format Y m d 我的日期输出如下所示 1 2017 04 07 E
  • 在 Flask 中渲染 Jupyter Notebook Iframe

    我正在使用 Flask 为单个用户托管 UI 我一直在尝试做的事情是设置一种方法 让用户单击一个按钮 使用标记语言在文档中预先指定的位置插入一些文本和图像 我最初使用 Jinja2 来实现此目的 但问题是用户需要能够在插入数据后修改文档 以
  • 标签(或“标记”)接口是否已过时?

    我正在尝试帮助一位同事接受 OO 并且我发现在某些情况下 很难找到标签概念的可靠的现实示例 或marker 界面 不包含任何方法的接口 它仅用作标记或标记或标签 虽然对于我们的讨论来说这确实不重要 但我们使用 PHP 作为讨论背后的平台 因
  • ServiceStack支持二进制响应吗?

    ServiceStack服务中是否有任何机制可以返回流 大型二进制数据 WCF 的 MTOM 支持虽然笨拙 但可以有效地返回大量数据 而无需文本转换开销 我喜欢服务堆栈 这个小代码足以从内存流返回 Excel 报告 public class
  • Rails 中 Gemfile 有什么用?

    有什么用Gemfile在铁轨上 如何使用Gemfile 在 Rails 开发过程中 有时您会想要提供一些您需要的功能 但要么您不知道如何做 要么您不想自己实现它 因为有很多才华横溢的开发人员已为其开发投入了工作 您可能需要的这些开发 用户身
  • Django/Python 更新字段值(在模型保存期间)

    我试图在保存 django 模型时将它们中的许多字段大写 看着这个问题 https stackoverflow com questions 825955 changing case upper lower on adding data th
  • Gitlab 从特定源分支合并

    我在 gitlab 有一个分支叫devops我想合并我的master分支与devops分支 但是 我不希望任何其他分支发出合并请求devops分支 是否可以 基本上 对于devops作为合并时的目标分支 仅master可以是源分支 是否可以
  • 我们如何将“.db”推送到模拟器中?

    我们可以推送由某些 ide 创建的数据库吗sqlite工作室并将其推入我们的模拟器中app uses 有什么方法可以将你的 db 格式推送到android模拟器中吗 我认为您想通过在外部创建数据库来发送应用程序 这些是将数据库添加到应用程序
  • OpenShift Jenkins 设备上的 NPM 安装

    我 和其他许多人一样 正在努力让 Openshift 上的 Jenkins 墨盒与 NPM 很好地配合 按照其他人对 SO 的建议 我已成功导航需要在 Openshift 上进行的 NPM 缓存重定向 如下所述here https stac
  • 令人惊叹的 CSS 动画

    我有一个 CSS 动画 我想以 200 毫秒的间隔应用它 我已经这样设置 CSS discrete position relative opacity 1 webkit transition all 5s linear moz transi
  • 为什么允许入口点是私有的? [复制]

    这个问题在这里已经有答案了 这实际上是如何运作的 我想Main应该被 称为 但如果它被标记为私有 这怎么可能呢 public class Program private static void Main 来自 bytes com 上的 Jo
  • 如何从另一个工作流程启动一个工作流程并检索被调用工作流程的返回值

    我正在测试谷歌工作流程 并想从另一个工作流程调用工作流程 但作为一个单独的流程 不是子工作流程 我可以开始执行 但目前无法检索返回值 我收到了一个执行实例 argument null name projects xxxxxxxxxxxx l
  • 为什么 Mono 上的 NetMQ DealerSocket 在 Debian Wheezy 上不向服务器发送消息,但在 Windows 上却发送消息?

    我在 Debian Wheezy 上的 Mono 4 8 上使用 NetMQ 4 0 0 1 时遇到一些问题 经销商套接字不会发送任何消息 直到我不会停止调用它来发送新消息 当我将Thread Sleep 1000 在创建任务之间比一切都好
  • 制作文件警告,覆盖目标命令

    作为 makefile 的一部分 我想生成目标的调试或发布版本 从功能上来说 一切正常但是 我在运行 make 时收到警告 12 SRC shell echo src cpp 13 SRC shell echo TEST ROOT cpp
  • 安装 npm cypress-mongodb 时出现问题

    我正在尝试设置插件cypress mongodb在我们的 cypress 框架上使用 但我遇到了太多问题 我已经安装并配置了插件文档 https www npmjs com package cypress mongodb 但是当我启动 cy
  • 无法删除或更新父行:外键约束失败(hibernate xml 映射)

    我想删除用户所属的所有组 但目前不起作用 我认为在映射 User hbm xml 或 Group hbm xml 级别缺少一些东西 但我不知道 错误是 无法删除或更新父行 外键约束失败 sharedmap groupe 约束FK gq7wi
  • extern"C" 与 extern 的区别

    我是否使用有什么区别extern C 整个标头的说明符 或指定extern对于每个功能 据我所知 没有 因为只有函数和变量可以外部链接 所以当我使用extern每个函数原型和外部变量之前都有说明符 我不需要使用全局extern C 宣言 示
  • 挂钩 Drupal 注册并根据业务逻辑验证用户信息

    我想挂接到注册模块 我已经拥有一个包含 50000 个使用我的旧网站的用户的数据库 现在我正在迁移到 Drupal 我还没有将条目迁移到 drupal 数据库 我将检查我的旧数据库 当用户尝试在 Drupal 中注册时 我需要检查他提供的用