大家好,
我想在我的 Discourse 论坛中强制执行一项规则,即对于特定类别,用户在创建主题时必须附加特定标签。用户可以附加任意数量的标签,但必须有一个特定标签;否则,应显示错误消息并阻止创建主题。
我正在使用 Blackout 主题(或自定义主题),并且希望使用 JavaScript 在客户端添加此验证。
是否可以在主题的 JavaScript(例如,在 Blackout 主题的自定义代码中)中添加此类条件来:
- 检查正在创建的主题是否属于特定类别,
- 检查是否已附加必需的标签,
- 如果缺少必需的标签,则显示错误并阻止创建主题?
如果可以,谁能分享一个示例或最佳方法?
提前感谢!
我相信您可以使用内置工具来完成此操作。
在类别设置中,查看:
因此,您只需创建一个标签组,添加您想要的标签,然后在您希望其成为必填项的类别中选择该组。
1 个赞
您好,
我已按照步骤操作。
我创建了一个标签组并向其中添加了单个标签。
-
在类别设置中,于标签 > 所需标签组下,我选择了此标签组。
-
我的预期是:在此类别中创建新主题时,必须至少包含来自所需标签组的一个标签。
但是,系统允许在不包含所需标签组中任何标签的情况下创建主题,这违背了此设置的初衷。
我附上了截图,显示:
-
标签组配置
-
类别设置
-
一个绕过了要求的、新创建的主题
您能否帮忙调查这是否是一个错误,或者我是否遗漏了什么?
1 个赞
我认为你是对的,你发现了一个 bug。我正在通知相关团队!
@S.AAKASH_MUTHIAH
好的,原来这个限制不适用于管理员……
所以至少它对普通用户来说运行正常,我已经测试过并确认了。
我们正在内部讨论如何进一步改进这一点,方法是将其全局应用或至少明确此行为。
1 个赞
我个人宁愿它不适用于全局,管理员的要点应该是你可以覆盖任何东西,而这会使你无法覆盖这个特定的东西。除非你添加一种绕过它的方法,而这似乎比保持原样要麻烦得多。
1 个赞
@S.AAKASH_MUTHIAH 您的问题解决了吗?我认为 @chapoi 的建议适用于您的情况。您只需要记住,作为管理员,您不受此问题的影响,因为您不受其他非管理员限制的影响。
此主题在上次回复后 7 天自动关闭。不再允许新回复。