【发布时间】:2025-12-07 12:00:01
【问题描述】:
这可能是一个简单的验证问题,但我只有使用内置 rails 验证助手的经验,例如允许字段为空白和/或强制执行特定长度或匹配正则表达式。
当用户注册(使用 Devise)时,我的注册表单(和用户架构)还有一个“referred_by”字段,他们可以在其中输入推荐代码(例如销售代表 ID)。
“referred_by”字段在保存之前需要进行一些特殊验证: * 删除所有空格 * 强制小写 * 验证它是一个允许的“推荐代码”值(存在于 ReferralCodes 表的“代码”字段中)
如果它不是一个允许的值(例如,在 ReferralCode 表中不存在),我需要在表单上标记一个验证错误,例如“这不是一个有效的推荐代码”
我不知道将方法放在哪里,所以在尝试保存数据时它会作为 Rails 验证的一部分自动触发...
任何帮助将不胜感激!
【问题讨论】: