【发布时间】:2011-06-28 16:13:21
【问题描述】:
我有一个安全破解器表单,允许用户输入标题、url_title 正文内容。如果 url_title 已被使用,默认情况下,会在 url_title 中添加一个数字,因此它是唯一的。但是,不是有这种将数字添加到 url_title 的自动行为,有没有一种方法可以通知用户输入的 url_title 已经被占用,以便用户可以输入一个新的。
【问题讨论】:
标签: expressionengine
我有一个安全破解器表单,允许用户输入标题、url_title 正文内容。如果 url_title 已被使用,默认情况下,会在 url_title 中添加一个数字,因此它是唯一的。但是,不是有这种将数字添加到 url_title 的自动行为,有没有一种方法可以通知用户输入的 url_title 已经被占用,以便用户可以输入一个新的。
【问题讨论】:
标签: expressionengine
要在您的 SafeCracker 表单中验证{url_title},在提交之前即时进行,您可以编写一个 Ajax 例程来检查和比较 <input /> 的值与 url_title 列在exp_channel_titles 数据库表中。
Barrett Newton 开发 SafeCracker 时,曾经有 Developer documentation 用于自定义字段类型和扩展挂钩,但自从 EllisLab 接管 SafeCracker 后,我相信它们已被删除。
但是,由于 SafeCracker 使用 CodeIgniter Form Validation class 处理其服务器端表单验证,因此您应该能够通过创建 callback function 来在表单提交时验证 {url_title} 来扩展验证类以满足您的需求,而不是静默允许 ExpressionEngine 将数字附加到字段数据。
【讨论】: