Możesz dodać klasę do walidacji w Magento 2. Zobacz przykład poniżej. Istnieje prawie 72 reguły (klasa walidacji), których możesz użyć:
$fieldset->addField(
'email_from',
'text',
['name' => 'email_from', 'label' => __('Email From'), 'title' => __('Email From'), 'required' => true, 'class' => 'validate-email']
);
Aby uzyskać więcej informacji, zobacz blog, aby uzyskać listę dostępnych reguł :
Oto lista reguł klas walidacji obsługiwanych przez magento 2. Wystarczy dodać klasę css, aby zastosować regułę.
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
Istnieją 3 różne sposoby użycia sprawdzania poprawności formularza w Magento 2
Aby włączyć sprawdzanie javascript, użyj następującego kodu w swoim szablonie
1
2)
3)
* formularz niestandardowy to identyfikator formularza, który można zastąpić identyfikatorem formularza
Lista reguł sprawdzania poprawności formularzy
Aby zakończyć ten artykuł, tutaj znajduje się lista nazw reguł sprawdzania poprawności jako szybkie odniesienie do oficjalnej dokumentacji:
Zasady Magento:
Zasady jQuery:
patrz http://inchoo.net/magento-2/validate-custom-form-in-magento-2/
źródło
W komponentach interfejsu użytkownika można go użyć, wykonując przykładową konfigurację (Magento v2.2.0):
Zobacz więcej przykładów w pliku:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_form.xml
Lista walidatorów w komponentach interfejsu użytkownika, w której można ją znaleźć
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
.Właśnie napisałem ten skrypt, aby pobrać wszystkie klucze z komunikatami o błędach w celu wyjaśnienia:
To pole jest wymagane.
W tym polu należy używać tylko liter (az lub AZ), cyfr (0-9) lub spacji.
Podaj prawidłowy numer telefonu
Podaj prawidłowy adres e-mail (np. [email protected]).
Wprowadź poprawny adres IP v4.
To pole jest wymagane.
Wybierz opcję.
Wprowadź prawidłowy adres IP v6.
Podaj prawidłowy czas między 00:00 a 23:59
Wprowadź poprawny numer w tym polu.
Podaj prawidłowy numer telefonu. Na przykład (123) 456-7890 lub 123-456-7890.
Proszę wprowadzić poprawną datę
Proszę wprowadzić poprawny identyfikator XML (np .: coś_1, blok5, id-4).
Proszę wprowadzić poprawny adres URL. Na przykład http://www.example.com lub www.example.com.
Wpisz 7 lub więcej znaków, używając zarówno cyfr, jak i alfabetu.
tagi HTML są niedozwolone.
Wprowadź poprawną liczbę całkowitą w tym polu.
W tym polu należy używać tylko liter (az lub AZ), cyfr (0–9) lub podkreślenia (_), a pierwszym znakiem powinna być litera.
Wprowadź numer wydania lub datę rozpoczęcia dla typu karty zamiany / solo.
Wpisz co najmniej {0} słów.
litery, cyfry, spacje lub podkreślenia
Wprowadź poprawny klucz URL (np. „przykładowa strona”, „przykładowa strona.html” lub „inna strona / przykładowa strona”).
W tym polu należy używać tylko liter (az lub AZ), cyfr (0–9), spacji i „#”.
Wprowadź poprawny kod pocztowy.
Podaj prawidłową datę.
Wprowadź liczbę większą niż 0 w tym polu.
Wprowadź poprawny numer w tym polu.
Proszę wprowadzić poprawny numer ubezpieczenia społecznego (np. 123-45-6789).
w tym polu wprowadź liczbę dodatnią.
plik, który próbujesz przesłać, przekracza maksymalny limit rozmiaru pliku.
Wprowadź poprawny numer faksu (np .: 123-456-7890).
Użyj tagu SCRIPT z atrybutem SRC lub z odpowiednią zawartością, aby dołączyć JavaScript do dokumentu.
Wprowadź więcej lub więcej niż {0} symboli.
Użyj tego formatu daty: dd / mm / rrrr. Na przykład 17/03/2006 z 17 marca 2006.
Proszę podać poprawny numer telefonu komórkowego
Proszę tylko o litery lub znaki interpunkcyjne
wartość nie mieści się w określonym zakresie.
Proszę podać poprawny numer telefonu
Data nie mieści się w określonym zakresie.
wartość nie mieści się w określonym zakresie.
Podany numer identyfikacyjny pojazdu (VIN) jest nieprawidłowy.
wprowadź od {0} do {1} słów.
Wprowadź poprawny kod pocztowy (np. 90602 lub 90602-1234).
Sprawdź poprawność wiadomości e-mail: wprowadź prawidłowe adresy e-mail, oddzielając je przecinkami. Na przykład [email protected], [email protected].
Wprowadź poprawną długość CSS (np .: 100px, 77pt, 20em, .5ex lub 50%).
kod pocztowy musi mieścić się w zakresie od 902xx-xxxx do 905-xx-xxxx
Wprowadź poprawny numer telefonu. Na przykład (123) 456-7890 lub 123-456-7890.
Vul hier een geldige datum in.
litery : proszę tylko o litery
Wpisz mniej niż lub równe {0} symbolom.
Wpisz w polu liczbę 0 lub większą.
Proszę wprowadzić poprawną wartość, np .: 10,20,30
Proszę nie wstawiać białych znaków
Wybierz State / Province.
Proszę wprowadzić poprawny adres URL. Wymagany jest protokół (http: //, https: // lub ftp: //).
Data nie mieści się w określonym zakresie.
wartość nie mieści się w określonym zakresie.
Wprowadź wartość większą lub równą {0}.
Pusta wartość.
Wpisz w polu wartość 0 lub większą.
Podaj prawidłowy numer karty kredytowej.
Wprowadź poprawny adres e-mail (np. [email protected]).
Wprowadź 6 lub więcej znaków. Wiodące i końcowe spacje zostaną zignorowane.
Minimalna długość tego pola musi być równa lub większa niż% 1 symboli. Wiodące i końcowe spacje zostaną zignorowane.
Wprowadź 6 lub więcej znaków. Wiodące i końcowe spacje zostaną zignorowane.
Wprowadź wartość mniejszą lub równą {0}.
Podaj prawidłową kwotę $. Na przykład 100,00 $.
Podaj prawidłowy czas od 00:00 do 12:00
W tym polu należy używać tylko liter (az lub AZ) lub cyfr (0–9). Niedozwolone są spacje ani inne znaki.
Nie rozpoznajemy ani nie obsługujemy tego typu rozszerzenia pliku.
W tym polu należy używać tylko liter (az), cyfr (0-9) lub podkreślenia (_), a pierwszym znakiem powinna być litera.
Proszę podać poprawny numer karty kredytowej.
Wpisz {0} słów lub mniej.
Wprowadź co najmniej {0} znaków
W tym polu należy używać tylko liter (az lub AZ).
nieprawidłowy format.
dodatnia lub ujemna liczba nie dziesiętna, proszę
Scenariusz:
źródło
Jeśli odwołujesz się do strony / customer / account / create, pod formularzem możesz zobaczyć następujący fragment kodu:
A jeśli sprawdzisz atrybuty wejściowe formularza, zobaczysz
class
wartości atrybutów podobne do Magento 1 wraz z nowymdata-validate
atrybutem. Może to być podstawa do przyspieszenia.Pliki kluczy do sprawdzania poprawności:
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
źródło
Kiedy używamy komponentów interfejsu użytkownika do tworzenia formularzy, moglibyśmy użyć walidacji jak poniżej, działa to w Magento 2.1.x, nie testuję jej jeszcze w innej wersji.
Zauważ sprawdzania elementu, w nim możemy dodać reguły sprawdzania poprawności , jak
required-entry
,validate-integer
etc.Wszystkie zasady walidacji można znaleźć w pliku
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
, jakvalidate-date
,validate-emails
etc.źródło
Mam takie same wymagania dotyczące sprawdzania poprawności formularza Magento2 i zrobiłem ten kod
Najpierw skonfigurujemy formularz testowy
Aby włączyć sprawdzanie javascript dla sprawdzania poprawności formularza Magento2
Odniesienia :: http://www.onlinecode.org/magento2-form-validation-example/
źródło
Opcja „bez białych znaków” nie działa poprawnie (przynajmniej w Magento 2.1). Powoduje wyświetlenie komunikatu o błędzie na dowolnym znaku „spacji”. Wartości „test me” i „test me” zwrócą ten sam błąd.
źródło