我想知道是否有办法在joomla 3.7中向模块添加自定义表单验证。我希望我的客户能够在模块管理中填写两个日期字段 [开始] 和 [结束]。但是我找不到一种正确的方法来检查诸如"两个字段都是可选的,但如果一个字段填写在另一个字段中,则也必须是有效日期"之类的内容。我知道我可以使用 Joomla 组件来做到这一点,但我在这里编写了一个模块。
我还阅读了有关编码自定义验证规则文件并将其复制到管理员文件夹的信息,但这对我来说感觉有点"脏",因为模块应该在安装后立即工作并且更新安全。
所以我的问题是:有谁知道实现这一目标的"适当"方法?
对于服务器端验证,可以使用自定义验证规则。
Joomla的文档教程为组件展示了它,但您可以修改它以用于模块,而不会丢失任何未来的更新功能:
<config>
<fields name="params">
<fieldset name="basic" addrulepath="modules/mod_module/rules">
<field name="field" rule="dualdate" />
</fieldset>
</fields>
</config>
然后,您将在模块的rule
文件夹中创建自定义规则类:
class JFormRuleDualDate extends JFormRule
{
}