Aggiungi campo Indirizzo di convalida personalizzato nel backend Magento 2


8

Voglio impostare il valore di lunghezza minima per il campo dell'indirizzo stradale sul lato amministratore

inserisci qui la descrizione dell'immagine

Voglio impostare min_text_length = 5Per Street Addresscampo nel modulo Indirizzo cliente

Sto cercando di aggiornare l'attributo ma non funziona

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

Nel database già impostato {"max_text_length":255,"min_text_length":5}ma la convalida non funziona

inserisci qui la descrizione dell'immagine

Nota: - Lato amministratore non lato front-end.


puoi aggiornare l'attributo e aggiungere la convalida tramite lo script di installazione (puoi aggiungere manualmente dal DB), per il checkout frontale rimuovi la convalida cambiando LayoutProcessor.php e fai la stessa cosa nel registro e aggiorna la sezione dell'indirizzo rimuovendo la classe di convalida
Ketan Borada,

conosco il modulo dell'indirizzo e la pagina di pagamento ma nella parte di amministrazione non trovo alcun riferimento o soluzione
Rk Rathod

Qual è la tua versione di magento?
Sohel Rana,

v 2.2.8 @Sohel Rana
Rk Rathod

Si prega di pubblicare il codice / menzione in modo chiaro quale modulo si desidera personalizzare in questione.
Vivek Kumar,

Risposte:


9

Puoi farlo tramite Script e aggiornare la convalida al suo interno. Devi cambiare

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

Puoi cambiarlo direttamente dal DB devi farlo con attenzione.

  • Apri la tabella eav_attributee trova attribute_codestreet e ottieni attribute_idda essa (generalmente attributo_id è 28).

inserisci qui la descrizione dell'immagine

  • Apri il tavolo customer_eav_attributee scoprilo attribute_id(28 nel mio caso). aggiornamento in validate_rulescolonna {"max_text_length":255,"min_text_length":5}

inserisci qui la descrizione dell'immagine

  • Ora è fatto in admin

    inserisci qui la descrizione dell'immagine

Nota: è necessario rimuovere se si verifica davanti


fammi controllare e riprodurre presto
Rk Rathod,

no fratello non funziona, ho già provato ad aggiornare l'attributo
Rk Rathod,

ma nella base di dati già impostato {"max_text_length": 255, "min_text_length": 5} ma la validazione non funziona
Rk Rathod

1+ per risposta
Rk Rathod

eventuali altri conflitti di estensione o errore js, altrimenti puoi verificarlo funzionando per me
Ketan Borada,

5

non sono sicuro che funzioni

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

Esempio dal nome

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

rimuovere questa convalida

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

fino a qui

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

non funziona
Rk Rathod,

@RkRathod ciao scusa ho pensato che volessi rimuovere la validazione. ti farò sapere se trovo qualcosa. scusami ancora
jibin george il

@RkRathod prova questo: <item name = "max_text_length" xsi: type = "number"> 5 </item>
jibin george

@RkRathod ha funzionato? o hai trovato qualcosa di nuovo
Jibin George,

@RkRathod se non ti dispiace condividerai la risposta?
Jibin George,

0

Puoi farlo dall'amministratore (Magento 2.3.3):

Convalida dell'indirizzo amministratore


1
Dove posso trovarlo in admin?
Nayem,

@Nayem Stores -> Attributi -> Indirizzo cliente e selezionare "Indirizzo" dall'elenco.
Niels
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.