我正在使用OctoberCMS,并且我已经使用Builder插件来创建我的一个名为Properties的插件,它到目前为止运行良好。
问题是,我有 2 个字段称为authority
和auction_date
。
authority
是一个下拉字段,其中包含拍卖等选项。而auction_date
它是一个简单的date
字段。
auction_date
字段取决于authority
字段,并且仅当authority
字段具有称为拍卖的选定值且authority
字段不是同时需要时才需要。因此,我将以下代码放在我的属性插件的模型文件中。
模型文件 - Property.php
public $rules = [
'auction_date' => 'required_if:authority,==,auction',
];
这很好用,如果下拉列表的值从列表中选择拍卖,我可以验证我的auction_date
字段。authority
但是,这里基本上auction_date
默认不是必填字段。它是 的依赖字段authority
。
然而,当我加载页面时,该字段旁边显示星号(*)的字段。下面是它的样子。
我试图更新我的插件的fields.yaml文件我把下面的代码。
auction_date:
label: 'Auction Date:'
oc.commentPosition: ''
mode: date
span: auto
type: datepicker
tab: 'Address Information'
required: false
这段代码required: false
对我不起作用。
我遇到了更新以下系统库文件的解决方案。
- 模块/后端/类/FormField.php
- 模块/后端/小部件/Form.php
这样做,Field 定义应该覆盖 magic。
但坦率地说,我不想在这里弄乱任何系统文件。如果我能找到一些可以在一个插件文件中处理这个问题的解决方案,那将是理想的。
如果有人指导我实现这一点,那就太棒了。
提前致谢。