Octobercms Builder-如何为后端表单编写验证代码并修改字段

问题描述 投票:0回答:2

我对Joomla经历了10年,对这个奇妙的十月感到陌生,并希望继续前进。我正在使用出色的Builder插件,并希望在后端使用“创建”或“更新”表单进行“复杂”验证。

经过无数次浏览网络,我无法弄清楚如何以及在哪里放置代码以添加业务验证规则?

我使用yaml选项玩耍,以具有动态字段和简单的验证。现在,我想使用复杂的规则,例如:如果类别是X,类型是Y,则(文本)名称字段设置为'ZZZ'有人可以让我在PHP中添加这样的代码吗?

我能够读取字段值,但是无法以编程方式更改输入。经过多次尝试,我陷入了困境。任何帮助将不胜感激。谢谢。

octobercms octobercms-backend
2个回答
0
投票

这都可以在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',
];

enter image description here


0
投票

要操作表单字段,您应该在模型中覆盖filterFields方法-Docs

© www.soinside.com 2019 - 2024. All rights reserved.