OctoberCMS 带星号的必需但依赖字段的验证问题
OctoberCMS Validation issue for required but dependent field with asterisk
我正在使用 OctoberCMS and I have used Builder 插件来创建我的一个名为 Properties 的插件,到目前为止它运行良好。
问题是,我有 2 个字段,分别称为 authority
和 auction_date
。
authority
是一个下拉字段,其中包含 auction 等选项。而 auction_date
是一个简单的 date
字段.
auction_date
字段取决于 authority
字段,仅当 authority
字段有一个名为 auction 和 authority
字段不能同时填写。因此,我将下面的代码放在 属性 插件的模型文件中。
模型文件 - Property.php
public $rules = [
'auction_date' => 'required_if:authority,==,auction',
];
这很好用,如果从列表中选择 authority
下拉菜单的值 auction,我可以验证我的 auction_date
字段。
不过,这里基本上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
对我不起作用。
我遇到了更新以下系统库文件的解决方案。
- modules/backend/classes/FormField.php
- modules/backend/widgets/Form.php
然后这样做,Field definition should override magic。
但坦率地说,我不想在这里弄乱任何系统文件。如果我能找到一些可以在其中一个插件文件中处理这个问题的解决方案,那将是理想的。
如果有人指导我完成这个,那就太棒了。
提前致谢。
您可以等待下一个版本或覆盖用于确定是否需要某些内容的方法。
public function filterFields($fields)
{
$fields->auction_date->required = false;
}
我正在使用 OctoberCMS and I have used Builder 插件来创建我的一个名为 Properties 的插件,到目前为止它运行良好。
问题是,我有 2 个字段,分别称为 authority
和 auction_date
。
authority
是一个下拉字段,其中包含 auction 等选项。而 auction_date
是一个简单的 date
字段.
auction_date
字段取决于 authority
字段,仅当 authority
字段有一个名为 auction 和 authority
字段不能同时填写。因此,我将下面的代码放在 属性 插件的模型文件中。
模型文件 - Property.php
public $rules = [
'auction_date' => 'required_if:authority,==,auction',
];
这很好用,如果从列表中选择 authority
下拉菜单的值 auction,我可以验证我的 auction_date
字段。
不过,这里基本上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
对我不起作用。
我遇到了更新以下系统库文件的解决方案。
- modules/backend/classes/FormField.php
- modules/backend/widgets/Form.php
然后这样做,Field definition should override magic。
但坦率地说,我不想在这里弄乱任何系统文件。如果我能找到一些可以在其中一个插件文件中处理这个问题的解决方案,那将是理想的。
如果有人指导我完成这个,那就太棒了。
提前致谢。
您可以等待下一个版本或覆盖用于确定是否需要某些内容的方法。
public function filterFields($fields)
{
$fields->auction_date->required = false;
}