所有用户字段都必须填写,但只能编辑一次

抱歉,如果这个问题之前有人提过,我昨天找到了类似的内容,但今天的搜索词条却一无所获。

场景:

一个 Discourse 服务器想要设置一个字段,比如出生日期(Date of Birth),使其成为必填项。这个信息不应该在注册后需要编辑。因此,解决方案是将自定义字段设置为不勾选“注册后可编辑”(editable after signup),然后将该字段更改为“注册时必填”(Required on Signup)。这对于通过常规的电子邮件/用户名注册创建账户的用户是有效的。

问题 1:

通过 OAuth、DiscourseID、WP-Discourse 等方式创建账户的用户永远不会看到这些字段。为了让这些用户能够访问这些字段,它们必须被标记为“对所有人必填”(Required For All),这就引出了……

问题 2:

“对所有人必填”出于明显的原因,要求字段必须被标记为“注册后可编辑”(editable after signup)。不幸的是,这也允许用户随时更改该字段……但这完全不是我们想要的。

请求的功能:

添加逻辑,允许“对所有人必填”不需要勾选“注册后可编辑”。该逻辑会首先检查字段是否为空或“null”之前,再检查“注册后可编辑”的设置。它基本上会忽略任何空/null 的必填字段的“可编辑”复选框。这将允许自定义用户字段在被编辑一次后,一旦保存了值,就不再可编辑。

2 个赞