magento2 - Magento2 - 单页结帐表单上的新复选框需要验证问题
问题描述
我正在使用 Magento 2.2.3 并且我添加了一个新的复选框字段,需要通过自定义插件在地址单页结帐表单中进行验证。我遵循本指南: https ://devdocs.magento.com/guides/v2.0/howdoi/checkout/checkout_new_field.html
现在我显示复选框,但验证效果不佳。仅当客户在检查后取消选中该字段时,要求验证才有效。
即使从未像第一次加载表单时那样检查过复选框,我也需要验证才能工作
下面是我的 LayoutProcessor 代码:
class LayoutProcessor
{
/**
* @param \Magento\Checkout\Block\Checkout\LayoutProcessor $subject
* @param array $jsLayout
* @return array
*/
public function afterProcess(
\Magento\Checkout\Block\Checkout\LayoutProcessor $subject,
array $jsLayout
) {
$customAttributeCode = 'custom_field';
$jsLayout['components']['checkout']['children']['steps']['children']['shipping-step']['children']['shippingAddress']['children']
['shipping-address-fieldset']['children'][$customAttributeCode] = [
'component' => 'Magento_Ui/js/form/element/single-checkbox',
'config' => [
'customScope' => 'shippingAddress.custom_attributes',
'template' => 'ui/form/field',
'elementTmpl' => 'ui/form/components/single/checkbox',
],
'label' => 'Bla bla bla bla.....',
'dataScope' => 'shippingAddress.custom_attributes' . '.' . $customAttributeCode,
'provider' => 'checkoutProvider',
'sortOrder' => 251,
'required' => true,
'validation' => [
'required-entry' => true
],
'description'=>null,
'value' => '1',
];
return $jsLayout;
}
}
解决方案
推荐阅读
- github - 为什么我无法收到我自己的仓库的任何通知电子邮件
- java - 尽管我们不提供 Spring Security 配置,为什么 Spring Security 应用程序会重定向到登录页面?
- ios - CTFontGetGlyphsForCharacters 为支持的特殊字符返回 false
- mysql - 如何将 Limit 和 Offset 与 alias 一起使用,其中 alias 是递增的序列号?
- android - 在android中显示7天
- python - 将具有三种类型的格式化数据的 JSON 文件解析为三个单独的数据帧
- vba - MS word 从表活动单元格中获取值
- reactjs - 如何在 React js 项目中为文本添加 js 文件?
- f# - 速度问题:使用 Deedle 创建系列/在 F# 中获取唯一值
- c++11 - 跨平台显示 Unicode 字符