我对Joomla经历了10年,对这个奇妙的十月感到陌生,并希望继续前进。我正在使用出色的Builder插件,并希望在后端使用“创建”或“更新”表单进行“复杂”验证。
经过无数次浏览网络,我无法弄清楚如何以及在哪里放置代码以添加业务验证规则?
我使用yaml选项玩耍,以具有动态字段和简单的验证。现在,我想使用复杂的规则,例如:如果类别是X,类型是Y,则(文本)名称字段设置为'ZZZ'有人可以让我在PHP中添加这样的代码吗?
我能够读取字段值,但是无法以编程方式更改输入。经过多次尝试,我陷入了困境。任何帮助将不胜感激。谢谢。
这都可以在models.php文件中完成,并且可以工作with Model Events。您也可以使用use Author\Plugin\Models\Model
在顶部调用要注册的特定模型外观。
例如,我想为子弹添加ID,以便可以使用afterSave()
事件。您将记录与$this
一起使用。
public function afterSave() { $id = $this->id; if (strpos($this->slug, '-'.$id) === false) { $this->slug = $this->slug.'-'.$id; } }
如果要验证模型,可以使用
public $rules
found here。这是一个示例,其中显示了所需的唯一名称的样子以及验证程序失败时弹出的图像。
public $rules = [
'name' => 'required|unique:author_plugin_database',
];
要操作表单字段,您应该在模型中覆盖filterFields
方法-Docs。