Vous pouvez ajouter une classe pour validation dans Magento 2. Voir l'exemple ci-dessous. Il y a près de 72 règles (classe de validation) que vous pouvez utiliser:
$fieldset->addField(
'email_from',
'text',
['name' => 'email_from', 'label' => __('Email From'), 'title' => __('Email From'), 'required' => true, 'class' => 'validate-email']
);
Voir le blog pour la liste des règles disponibles pour plus d'informations:
Voici la liste des règles de classes de validations prises en charge par magento 2. Il vous suffit d'ajouter une classe css pour que la règle s'applique.
min_text_length
max_text_length
max-words
min-words
range-words
letters-with-basic-punc
alphanumeric
letters-only
no-whitespace
zip-range
integer
vinUS
dateITA
dateNL
time
time12h
phoneUS
phoneUK
mobileUK
stripped-min-length
email2
url2
credit-card-types
ipv4
ipv6
pattern
validate-no-html-tags
validate-select
validate-no-empty
validate-alphanum-with-spaces
validate-data
validate-street
validate-phoneStrict
validate-phoneLax
validate-fax
validate-email
validate-emailSender
validate-password
validate-admin-password
validate-url
validate-clean-url
validate-xml-identifier
validate-ssn
validate-zip-us
validate-date-au
validate-currency-dollar
validate-not-negative-number
validate-zero-or-greater
validate-greater-than-zero
validate-css-length
validate-number
validate-number-range
validate-digits
validate-digits-range
validate-range
validate-alpha
validate-code
validate-alphanum
validate-date
validate-identifier
validate-zip-international
validate-state
less-than-equals-to
greater-than-equals-to
validate-emails
validate-cc-number
validate-cc-ukss
required-entry
checked
not-negative-amount
validate-per-page-value-list
validate-new-password
validate-item-quantity
equalTo
Il existe 3 façons différentes d'utiliser la validation de formulaire dans magento 2
Pour activer la validation javascript, utilisez le code suivant dans votre modèle
1
2
3
* le formulaire personnalisé est l'identifiant du formulaire, vous pouvez le remplacer par votre identifiant de formulaire
Liste des règles de validation des formulaires
Pour conclure cet article, une liste de noms de règles de validation est fournie ici comme référence rapide vers la documentation officielle:
Règles de Magento:
Règles jQuery:
voir http://inchoo.net/magento-2/validate-custom-form-in-magento-2/
la source
Dans les composants d'interface utilisateur, il peut être utilisé en suivant l'exemple de configuration (Magento v2.2.0):
Voir plus d'exemples dans le fichier:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_form.xml
La liste des validateurs dans les composants d'interface utilisateur, il peut être trouvé dans
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
.Je viens d'écrire ce script pour récupérer toutes les clés avec des messages d'erreur pour l'explication:
Ceci est un champ obligatoire.
Veuillez utiliser uniquement des lettres (az ou AZ), des chiffres (0-9) ou des espaces uniquement dans ce champ.
Veuillez spécifier un numéro de téléphone valide
Veuillez entrer une adresse email valide (Ex: [email protected]).
veuillez entrer une adresse IP v4 valide.
Ce champ est obligatoire.
Veuillez sélectionner une option.
Veuillez entrer une adresse IP v6 valide.
veuillez saisir une heure valide, entre 00:00 et 23:59
veuillez saisir un numéro valide dans ce champ.
Veuillez entrer un numéro de téléphone valide. Par exemple (123) 456-7890 ou 123-456-7890.
veuillez saisir une date correcte
Veuillez saisir un identifiant XML valide (Ex: quelque chose_1, block5, id-4).
veuillez saisir une URL valide. Par exemple http://www.example.com ou www.example.com.
Veuillez saisir au moins 7 caractères, à la fois numériques et alphabétiques.
les balises HTML ne sont pas autorisées.
Veuillez entrer un entier valide dans ce champ.
veuillez utiliser uniquement des lettres (az ou AZ), des chiffres (0-9) ou des traits de soulignement (_) dans ce champ, et le premier caractère doit être une lettre.
veuillez entrer le numéro du problème ou la date de début pour le type de carte commutateur / solo.
Veuillez saisir au moins {0} mots.
lettres, chiffres, espaces ou soulignements uniquement s'il vous plaît
veuillez entrer une clé URL valide (Ex: "exemple-page", "exemple-page.html" ou "autre niveau / exemple-page").
veuillez utiliser uniquement des lettres (az ou AZ), des chiffres (0-9), des espaces et "#" dans ce champ.
Veuillez saisir un code postal valide.
veuillez saisir une date valide.
veuillez saisir un nombre supérieur à 0 dans ce champ.
Veuillez entrer un numéro valide dans ce champ.
Veuillez entrer un numéro de sécurité sociale valide (Ex: 123-45-6789).
veuillez saisir un nombre positif dans ce champ.
fichier que vous essayez de télécharger dépasse la limite de taille de fichier maximale.
Veuillez entrer un numéro de fax valide (Ex: 123-456-7890).
veuillez utiliser la balise SCRIPT avec l'attribut SRC ou avec un contenu approprié pour inclure JavaScript dans le document.
veuillez saisir plus ou égal à {0} symboles.
Veuillez utiliser ce format de date: jj / mm / aaaa. Par exemple 17/03/2006 pour le 17 mars 2006.
Veuillez spécifier un numéro de mobile valide
lettres ou ponctuation uniquement s'il vous plaît
la valeur ne se trouve pas dans la plage spécifiée.
Veuillez spécifier un numéro de téléphone valide
la date n'est pas dans la plage spécifiée.
la valeur n'est pas dans la plage spécifiée.
le numéro d'identification du véhicule (VIN) spécifié n'est pas valide.
veuillez saisir entre {0} et {1} mots.
Veuillez entrer un code postal valide (Ex: 90602 ou 90602-1234).
veuillez saisir des adresses e-mail valides, séparées par des virgules. Par exemple, [email protected], [email protected].
Veuillez saisir une longueur CSS valide (Ex: 100px, 77pt, 20em, .5ex ou 50%).
Votre code postal doit être compris entre 902xx-xxxx et 905-xx-xxxx
Veuillez saisir un numéro de téléphone valide. Par exemple (123) 456-7890 ou 123-456-7890.
Vul hier een geldige datum in.
lettres uniquement s'il vous plaît
veuillez entrer moins ou égal à {0} symboles.
veuillez saisir un nombre égal ou supérieur à 0 dans ce champ.
Veuillez saisir une valeur valide, par exemple: 10,20,30
pas d'espace blanc s'il vous plaît
Veuillez sélectionner l'état / la province.
veuillez saisir une URL valide. Le protocole est requis (http: //, https: // ou ftp: //).
la date n'est pas dans la plage spécifiée.
la valeur n'est pas dans la plage spécifiée.
veuillez saisir une valeur supérieure ou égale à {0}.
valeur vide.
Veuillez entrer un nombre 0 ou supérieur dans ce champ.
veuillez saisir un numéro de carte de crédit valide.
Veuillez saisir une adresse e-mail valide (Ex: [email protected]).
Veuillez saisir 6 caractères ou plus. Les espaces de début et de fin seront ignorés.
longueur minimale de ce champ doit être égale ou supérieure à% 1 symboles. Les espaces de début et de fin seront ignorés.
veuillez saisir 6 caractères ou plus. Les espaces de début et de fin seront ignorés.
veuillez saisir une valeur inférieure ou égale à {0}.
Veuillez saisir un montant $ valide. Par exemple, 100,00 $.
Veuillez entrer une heure valide, entre 00:00 am et 12:00 pm
Veuillez utiliser uniquement des lettres (az ou AZ) ou des chiffres (0-9) dans ce champ. Aucun espace ou autre caractère n'est autorisé.
nous ne reconnaissons ni ne prenons en charge ce type d'extension de fichier.
veuillez utiliser uniquement des lettres (az), des chiffres (0-9) ou des traits de soulignement (_) dans ce champ, et le premier caractère doit être une lettre.
Veuillez entrer un numéro de carte de crédit valide.
Veuillez saisir {0} mots ou moins.
veuillez saisir au moins {0} caractères
Veuillez utiliser uniquement des lettres (az ou AZ) dans ce champ.
format non valide.
Un nombre non décimal positif ou négatif s'il vous plaît
Le script:
la source
Si vous prenez la référence de / customer / account / create page, vous pouvez voir le morceau de code suivant sous le formulaire:
Et si vous vérifiez les attributs d'entrée du formulaire, vous pouvez voir Magento 1 comme des
class
valeurs d'attribut avec un nouveldata-validate
attribut. Cela peut être la base pour intensifier.Fichiers de clés pour la validation:
https://raw.githubusercontent.com/magento/magento2/develop/lib/web/mage/validation.js
https://raw.githubusercontent.com/magento/magento2/develop/lib/web/mage/validation/validation.js
la source
Lorsque vous utilisez des composants d'interface utilisateur pour créer un formulaire, nous pourrions utiliser la validation comme ci-dessous, cela fonctionne dans Magento 2.1.x, je ne le teste pas encore dans une autre version.
Remarquez l' élément de validation , nous pourrions y ajouter des règles de validation , comme
required-entry
,validate-integer
etc.Toutes les règles de validation que vous pouvez trouver dans un fichier
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
, commevalidate-date
,validate-emails
etc.la source
J'ai la même exigence pour la validation de formulaire Magento2 et j'ai fait ce code
Nous allons d'abord configurer un formulaire de test
Pour activer la validation javascript pour la validation de formulaire Magento2
Référence :: http://www.onlinecode.org/magento2-form-validation-example/
la source
L'option "sans espace" ne fonctionne pas correctement (au moins sur Magento 2.1). Il déclenche un message d'erreur sur tout type de caractère "espace". Les valeurs «testez-moi» et «testez-moi» renverront la même erreur.
la source