Fügen Sie im Backend Magento 2 das Adressfeld für die benutzerdefinierte Validierungsstraße hinzu


8

Ich möchte den Mindestlängenwert für das Straßenadressfeld auf der Admin-Seite festlegen

Geben Sie hier die Bildbeschreibung ein

Ich möchte min_text_length = 5für Street AddressFeld im Kundenadressformular festlegen

Ich versuche, das Attribut zu aktualisieren, aber es funktioniert nicht

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

In Datenbank bereits festgelegt, {"max_text_length":255,"min_text_length":5}aber Validierung funktioniert nicht

Geben Sie hier die Bildbeschreibung ein

Hinweis: - Admin-Seite Nicht Frontend-Seite.


Sie können Attribut und fügen Validierung durch Setup - Skript aktualisieren (kann manuell von DB hinzufügen) Zum Entfernen Validierung Front Kasse durch LayoutProcessor.php ändern und gleiche Sache im Register und Update - Adresse Abschnitt tun , indem Prüfklasse entfernen
— Ketan Borada

Ich kenne das Adressformular und die Checkout-Seite, finde aber auf der Administrationsseite keine Referenz oder Lösung
— Rk Rathod

Was ist deine Magento-Version?
— Sohel Rana

v 2.2.8 @Sohel Rana
— Rk Rathod

Bitte geben Sie Ihren Code ein / geben Sie deutlich an, welches Formular Sie anpassen möchten.
— Vivek Kumar

Antworten:


9

Sie können dies per Skript tun und die Validierung darin aktualisieren. Sie müssen dies ändern

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

Sie können es direkt aus der Datenbank ändern, Sie müssen es sorgfältig tun.

  • Öffnen Sie den Tisch eav_attributeund suchen Sie die attribute_codeStraße und verlassen Sie attribute_idsie (im Allgemeinen ist attribute_id 28).

Geben Sie hier die Bildbeschreibung ein

  • Öffnen Sie den Tisch customer_eav_attributeund finden Sie das attribute_id(28 in meinem Fall). Update in validate_rulesSpalte {"max_text_length":255,"min_text_length":5}

Geben Sie hier die Bildbeschreibung ein

  • Jetzt ist es in admin erledigt

    Geben Sie hier die Bildbeschreibung ein

Hinweis: Sie müssen entfernen, wenn es vorne auftritt


Lassen Sie mich bald überprüfen und wiederholen
— Rk Rathod

nein bro es funktioniert nicht ich habe bereits versucht, Attribut zu aktualisieren
— Rk Rathod

aber in der Datenbank bereits {"max_text_length": 255, "min_text_length": 5} gesetzt, aber die Validierung funktioniert nicht
— Rk Rathod

1+ für Antwort
— Rk Rathod

können andere Erweiterungskonflikte oder js Fehler, sonst können Sie überprüfen, ob es für mich funktioniert
— Ketan Borada

5

Ich bin nicht sicher, ob das funktioniert

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

Beispiel vom Vornamen

<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>

Entfernen Sie diese Validierung

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

bis hierher

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

es funktioniert nicht
— Rk Rathod

@RkRathod hi sorry ich dachte du wolltest die validierung entfernen. Ich werde Sie wissen lassen, wenn ich etwas finde. Entschuldigung nochmal
— Jibin George

@ RkRathod versuchen Sie dies: <item name = "max_text_length" xsi: type = "number"> 5 </ item>
— jibin george

@RkRathod hat es funktioniert? oder war es etwas neues, das du gefunden hast
— jibin george

@RkRathod, wenn es Ihnen nichts ausmacht, werden Sie die Antwort teilen?
— Jibin George

0

Sie können dies vom Administrator aus tun (Magento 2.3.3):

Validierung der Administratoradresse


Wo finde ich das in admin?
— Nayem

@Nayem Stores -> Attribute -> Kundenadresse und wählen Sie "Straße" aus der Liste.
— Niels
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.