Thêm trường địa chỉ đường xác thực tùy chỉnh trong phụ trợ Magento 2


8

Tôi muốn đặt giá trị độ dài tối thiểu cho trường địa chỉ đường phố ở phía quản trị viên

nhập mô tả hình ảnh ở đây

Tôi muốn đặt min_text_length = 5cho Street Addresstrường trong mẫu địa chỉ khách hàng

Tôi đang cố cập nhật thuộc tính nhưng không hoạt động

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,
                ]
            );
        }
    }

Trong cơ sở dữ liệu đã được đặt {"max_text_length":255,"min_text_length":5}nhưng xác thực không hoạt động

nhập mô tả hình ảnh ở đây

Lưu ý: - Phía quản trị Không phải Frontend Side.


bạn có thể cập nhật thuộc tính và thêm xác thực bằng tập lệnh thiết lập (có thể thêm thủ công từ DB), Để kiểm tra trước loại bỏ xác thực bằng cách thay đổi LayoutProcessor.php và thực hiện tương tự trong phần đăng ký và cập nhật địa chỉ bằng cách xóa lớp xác thực
Ketan Borada

Tôi biết về mẫu địa chỉ và trang thanh toán nhưng ở phía quản trị viên không tìm thấy bất kỳ tài liệu tham khảo hay giải pháp nào
Rk Rathod

Phiên bản magento của bạn là gì?
Sohel Rana

v 2.2.8 @Sohel Rana
Rk Rathod

Vui lòng gửi mã của bạn / đề cập rõ ràng hình thức bạn muốn tùy chỉnh trong câu hỏi.
Vivek Kumar

Câu trả lời:


9

Bạn có thể thực hiện bằng Script và cập nhật xác thực trong đó. Bạn phải thay đổi

'validate_rules' => '{"max_text_length":255,"min_text_length":5}',

Bạn có thể thay đổi nó trực tiếp từ DB, bạn phải làm điều đó một cách cẩn thận.

  • Mở bảng eav_attributevà tìm attribute_codeđường và lấy attribute_idtừ nó (nói chung property_id là 28).

nhập mô tả hình ảnh ở đây

  • Mở bảng customer_eav_attributevà thấy rằng attribute_id(28 trong trường hợp của tôi). cập nhật trong validate_rulescột {"max_text_length":255,"min_text_length":5}

nhập mô tả hình ảnh ở đây

  • Bây giờ nó được thực hiện trong quản trị

    nhập mô tả hình ảnh ở đây

Lưu ý: Bạn phải xóa nếu nó xảy ra ở phía trước


hãy để tôi kiểm tra và phát lại sớm
Rk Rathod

không bro nó không hoạt động tôi đã cố gắng cập nhật thuộc tính
Rk Rathod

nhưng trong cơ sở dữ liệu đã được đặt {"max lòng_length": 255, "min giác_length": 5} nhưng xác thực không hoạt động
Rk Rathod

1+ để trả lời
Rk Rathod

có thể có bất kỳ xung đột mở rộng hoặc lỗi js nào khác, nếu không bạn có thể kiểm tra nó hoạt động với tôi
Ketan Borada

5

tôi không chắc nếu nó hoạt động

<rule name="required-entry" xsi:type="boolean">true</rule>

Ví dụ từ tên

<field name="city" formElement="input">
        <argument name="data" xsi:type="array">
            <item name="config" xsi:type="array">
                <item name="source" xsi:type="string">address</item>
            </item>
        </argument>
        <settings>

xóa xác nhận này

            <validation>
                <rule name="required-entry" xsi:type="boolean">true</rule>
            </validation>

đến đây

            <dataType>text</dataType>
        </settings>
    </field>

nó không hoạt động
Rk Rathod

@RkRathod xin lỗi tôi nghĩ bạn muốn xóa xác nhận. tôi sẽ cho bạn biết nếu tôi tìm thấy một cái gì đó. xin lỗi lần nữa
hẻm núi jibin

@RkRathod hãy thử điều này: <item name = "max lòng_length" xsi: type = "number"> 5 </ item>
jibin george

@RkRathod đã làm việc? hoặc đó là một cái gì đó mới mà bạn tìm thấy
jibin george

@RkRathod nếu bạn không phiền bạn sẽ chia sẻ câu trả lời chứ?
george jibin

0

Bạn có thể làm điều này từ quản trị viên (Magento 2.3.3):

Xác thực địa chỉ quản trị viên


Tôi có thể tìm thấy cái này ở đâu trong admin?
Nayem

Cửa hàng @Nayem -> Thuộc tính -> Địa chỉ khách hàng và chọn "Địa chỉ đường phố" từ danh sách.
Niels
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.