Я хочу установить минимальное значение длины для поля адреса на стороне администратора
Я хочу установить min_text_length = 5
для Street Address
поля в форме адреса клиента
Я пытаюсь обновить атрибут, но не работает
public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
{
if (version_compare($context->getVersion(), '1.0.1', '<')) {
$customerSetup = $this->customerSetup->create(['setup' => $setup]);
$customerSetup->addAttribute(
'customer_address',
'street',
[
'type' => 'static',
'label' => 'Street Address',
'input' => 'multiline',
'backend' => \Magento\Eav\Model\Entity\Attribute\Backend\DefaultBackend::class,
'sort_order' => 70,
'multiline_count' => 4,
'validate_rules' => '{"max_text_length":255,"min_text_length":5}',
'position' => 70,
]
);
}
}
В базе данных уже установлено, {"max_text_length":255,"min_text_length":5}
но проверка не работает
Примечание: - Сторона администратора, а не сторона интерфейса.
Ответы:
Вы можете сделать это с помощью сценария и проверки обновлений в it.You есть изменения
Вы можете изменить это непосредственно из БД, вы должны сделать это осторожно.
eav_attribute
и найдитеattribute_code
улицу и получитеattribute_id
от нее (обычно attribute_id равен 28).customer_eav_attribute
и найдите ееattribute_id
(28 в моем случае). обновить вvalidate_rules
столбце{"max_text_length":255,"min_text_length":5}
Теперь это делается в админке
Примечание: вы должны удалить, если это происходит спереди
источник
я не уверен, если это работает
Пример из имени
удалить эту проверку
до здесь
источник
Вы можете сделать это от администратора (Magento 2.3.3):
источник