Ошибка проверки OctoberCMS для обязательного, но зависимого поля со звездочкой

я использую OctoberCMS и я использовал строитель плагин для создания одного из моих плагинов под названием как свойства который работает отлично до сих пор.

Дело в том, у меня есть 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

И делая это, Определение поля должно переопределять магию.

Но, честно говоря, я не хочу связываться с любым системным файлом здесь. Было бы идеально, если бы я мог найти какое-то решение, которое может решить эту проблему в одном из файлов плагинов.

Если кто-то поможет мне добиться этого, это будет здорово.

Заранее спасибо.

3

Решение

Вы можете дождаться следующего выпуска или переопределить метод, используемый для определения необходимости чего-либо.

public function filterFields($fields)
{
$fields->auction_date->required = false;
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]