Вы можете добавить класс для проверки в Magento 2. См. Пример ниже. Существует почти 72 правила (класс валидации), которые вы можете использовать:
$fieldset->addField(
'email_from',
'text',
['name' => 'email_from', 'label' => __('Email From'), 'title' => __('Email From'), 'required' => true, 'class' => 'validate-email']
);
См. Блог для списка доступных правил для получения дополнительной информации:
Вот список правил классов валидации, поддерживаемых magento 2. Вам просто нужно добавить класс css для применения правила.
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
Есть 3 различных способа использовать проверку формы в magento 2
Чтобы включить проверку JavaScript, используйте следующий код в вашем шаблоне
1
2
3
* Пользовательская форма - это идентификатор формы, вы можете заменить ее идентификатором формы.
Список правил проверки формы
Чтобы завершить эту статью, здесь приведен список имен правил проверки в качестве краткого справочного руководства к официальной документации:
Magento правила:
Правила jQuery:
см. http://inchoo.net/magento-2/validate-custom-form-in-magento-2/
источник
В компонентах пользовательского интерфейса его можно использовать с помощью следующего примера конфигурации (Magento v2.2.0):
Смотрите больше примеров в файле:
vendor/magento/module-cms/view/adminhtml/ui_component/cms_page_form.xml
Список валидаторов в компонентах пользовательского интерфейса можно найти в
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
.Просто написал этот скрипт, чтобы получить все ключи с сообщениями об ошибках для объяснения:
это обязательное поле.
Пожалуйста, используйте только буквы (az или AZ), цифры (0-9) или пробелы только в этом поле.
Пожалуйста, укажите правильный номер телефона
Пожалуйста, введите действительный адрес электронной почты (например: johndoe@domain.com).
пожалуйста, введите действительный IP v4 адрес.
это обязательное поле.
Пожалуйста, выберите опцию.
введите действительный IP-адрес v6.
пожалуйста, введите правильное время, между 00:00 и 23:59
пожалуйста, введите правильный номер в это поле.
Пожалуйста, введите правильный номер телефона. Например (123) 456-7890 или 123-456-7890.
Пожалуйста, введите правильную дату
пожалуйста, введите действительный XML-идентификатор (например: что-то_1, block5, id-4).
Пожалуйста, введите действительный URL. Например, http://www.example.com или www.example.com.
пожалуйста, введите 7 или более символов, используя как цифры, так и буквы.
HTML-теги не допускаются.
введите правильное целое число в этом поле.
Пожалуйста, используйте только буквы (az или AZ), цифры (0-9) или подчеркивание (_) в этом поле, и первый символ должен быть буквой.
Пожалуйста, введите номер выпуска или дату начала для типа карты switch / solo.
введите не менее {0} слов.
буквы, цифры, пробелы или подчеркивания, пожалуйста
Пожалуйста, введите действительный ключ URL (например: "example-page", "example-page.html" или "anotherlevel / example-page").
Пожалуйста, используйте только буквы (az или AZ), цифры (0-9), пробелы и "#" в этом поле.
Пожалуйста, введите действительный почтовый индекс.
Пожалуйста, введите действительную дату.
Пожалуйста, введите число больше 0 в этом поле.
Пожалуйста, введите правильный номер в это поле.
Пожалуйста, введите действительный номер социального страхования (например: 123-45-6789).
пожалуйста, введите положительное число в это поле.
Файл, который вы пытаетесь загрузить, превышает максимальный размер файла.
Пожалуйста, введите действительный номер факса (например: 123-456-7890).
Пожалуйста, используйте тег SCRIPT с атрибутом SRC или с соответствующим содержимым, чтобы включить JavaScript в документ.
пожалуйста, введите больше или равно {0} символов.
Пожалуйста, используйте этот формат даты: дд / мм / гггг. Например, 17.03.2006 г. от 17 марта 2006 г.
Пожалуйста, укажите действительный номер мобильного телефона
буквы или знаки препинания, пожалуйста
значение находится за пределами указанного диапазона.
Пожалуйста, укажите правильный номер телефона
дата не в указанном диапазоне.
значение находится за пределами указанного диапазона.
указанный идентификационный номер автомобиля (VIN) недействителен.
введите от {0} до {1} слов.
Пожалуйста, введите действительный почтовый индекс (например: 90602 или 90602-1234).
введите правильные адреса электронной почты через запятую. Например, johndoe@domain.com, johnsmith@domain.com.
Пожалуйста, введите правильную длину CSS (например: 100px, 77pt, 20em, .5ex или 50%).
Ваш почтовый индекс должен быть в диапазоне от 902xx-xxxx до 905-xx-xxxx
Пожалуйста, введите правильный номер телефона. Например (123) 456-7890 или 123-456-7890.
hier een geldige datum in.
только буквы, пожалуйста
пожалуйста, введите меньше или равно {0} символов.
Пожалуйста, введите номер 0 или больше в этом поле.
Пожалуйста, введите правильное значение, например: 10,20,30
нет пробелов, пожалуйста
пожалуйста, выберите штат / провинцию.
пожалуйста, введите действительный URL. Требуется протокол (http: //, https: // или ftp: //).
дата не в указанном диапазоне.
значение находится за пределами указанного диапазона.
введите значение, большее или равное {0}.
пустое значение.
Пожалуйста, введите число 0 или больше в этом поле.
пожалуйста, введите действительный номер кредитной карты.
Пожалуйста, введите действительный адрес электронной почты (например: johndoe@domain.com).
Пожалуйста, введите 6 или более символов. Начальные и конечные пробелы будут игнорироваться.
минимальная длина этого поля должна быть равна или больше, чем% 1 символов. Начальные и конечные пробелы будут игнорироваться.
пожалуйста, введите 6 или более символов. Начальные и конечные пробелы будут игнорироваться.
введите значение, меньшее или равное {0}.
Пожалуйста, введите действительную сумму в долларах. Например, 100,00 долларов.
пожалуйста, введите правильное время с 00:00 до 12:00.
Пожалуйста, используйте только буквы (az или AZ) или цифры (0-9) в этом поле. Пробелы или другие символы не допускаются.
Мы не распознаем или не поддерживаем этот тип расширения файла.
пожалуйста, используйте только буквы (az), цифры (0-9) или подчеркивание (_) в этом поле, и первый символ должен быть буквой.
Пожалуйста, введите действительный номер кредитной карты.
пожалуйста, введите {0} слов или меньше.
пожалуйста, введите не менее {0} символов
пожалуйста, используйте только буквы (az или AZ) в этом поле.
неверный формат.
положительное или отрицательное не десятичное число, пожалуйста
Сценарий:
источник
Если вы воспользуетесь ссылкой на страницу / customer / account / create, под формой вы увидите следующий фрагмент кода:
И если вы проверите входные атрибуты формы, вы увидите Magento 1 как
class
значения атрибутов вместе с новымdata-validate
атрибутом. Это может быть основой для повышения.Файлы ключей для проверки:
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
источник
Когда для создания формы используются компоненты пользовательского интерфейса , мы можем использовать валидацию, как показано ниже, она работает в Magento 2.1.x, я еще не тестировал ее в другой версии.
Обратите внимание на элемент проверки , в него можно добавить правила проверки , например
required-entry
,validate-integer
и т. Д.Все правила проверки вы можете найти в файле
vendor/magento/module-ui/view/base/web/js/lib/validation/rules.js
, напримерvalidate-date
,validate-emails
и т. Д.источник
У меня есть такое же требование для проверки формы Magento2, и я сделал этот код
Сначала мы настроим тестовую форму
Чтобы включить проверку JavaScript для проверки формы Magento2
Ссылка :: http://www.onlinecode.org/magento2-form-validation-example/
источник
Опция «no-whitespace» работает некорректно (по крайней мере, в Magento 2.1). Это вызывает сообщение об ошибке на любом типе символа «пробел». Значения «test me» и «test me» будут возвращать одну и ту же ошибку.
источник