gpt4 book ai didi

php - OctoberCMS 带星号的必需但依赖字段的验证问题

转载 作者:可可西里 更新时间:2023-11-01 00:55:28 25 4
gpt4 key购买 nike

我正在使用 OctoberCMS我用过Builder插件来创建我的一个名为 Properties 的插件,目前为止运行良好。

事情是,我有 2 个字段称为 authorityauction_date .

authority是一个下拉字段,其中包含拍卖 等选项。而auction_date很简单 date field 。

auction_date字段取决于 authority字段,仅当 authority 时才需要字段有一个名为 auctionauthority 的选定值字段不是同时需要的。因此,我将以下代码放在我的 Property 插件的模型文件中。

模型文件 - Property.php

public $rules = [
'auction_date' => 'required_if:authority,==,auction',
];

效果很好,我可以验证我的 auction_date字段如果authority下拉列表的值从列表中选择了拍卖

不过,这里基本上auction_date默认情况下不是必填字段。它是 authority 的依赖字段.

然而,当我加载页面时,该字段旁边显示星号(*)。下面是它的样子。

enter image description here

我已经尝试更新我的插件的 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;
}

关于php - OctoberCMS 带星号的必需但依赖字段的验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46190035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com