A Complete Guide on Magento 2 Form Validation
The Magento 2 stores need the users to enter their data while sign up or checkout! For the flawless functioning of the store and ensuring the accuracy of the data, its validation is a must. For example, the data like delivery address or credit card details need to be valid to optimize the product delivery system and avoid unnecessary transactions.
The Magento 2 form validation is a concept that developers use most of the time to validate the data entered by the users.
The default Magento 2 offers the below classes that can be used for form validation.
List of validation classes in Magento 2:
The below list can be referred for Magento 2 validation rule names:
jQuery rules: |
|
---|---|
Rules | Description |
required | This is a required field |
remote | Please fix this field |
Please enter a valid email address | |
url | Please enter a valid URL |
date | Please enter a valid date |
dateISO | Please enter a valid date (ISO) |
number | Please enter a valid number |
digits | Please enter only digits |
creditcard | Please enter a valid credit card number |
equalTo | Please enter the same value again |
maxlength | Please enter no more than {0} characters. |
minlength | Please enter at least {0} characters. |
rangelength | Please enter a value between {0} and {1} characters long. |
range | Please enter a value between {0} and {1}. |
max | Please enter a value less than or equal to {0}. |
min | Please enter a value greater than or equal to {0}. |
Magento rules: |
|
---|---|
Rules | Description |
max-words | Please enter {0} words or less |
min-words | Please enter at least {0} words |
range-words | Please enter between {0} and {1} words |
letters-with-basic-punc | Letters or punctuation only please |
alphanumeric | Letters, numbers, spaces or underscores only please |
letters-only | Letters only please |
no-whitespace | No white space please |
zip-range | Your ZIP-code must be in the range 902xx-xxxx to 905-xx-xxxx |
integer | A positive or negative non-decimal number please |
vinUS | The specified vehicle identification number (VIN) is invalid |
dateITA | Please enter a correct date |
dateNL | Vul hier een geldige datum in |
time | Please enter a valid time, between 00:00 and 23:59 |
time12h | Please enter a valid time, between 00:00 am and 12:00 pm |
phoneUS | Please specify a valid phone number |
phoneUK | Please specify a valid phone number |
mobileUK | Please specify a valid mobile number |
stripped-min-length | Please enter at least {0} characters |
validate-no-utf8mb4-characters | Please remove invalid characters: {0} |
credit-card-types | Please enter a valid credit card number |
ipv4 | Please enter a valid IP v4 address |
ipv6 | Please enter a valid IP v6 address |
pattern | Invalid format |
allow-container-className | bool |
validate-no-html-tags | HTML tags are not allowed |
validate-select | Please select an option |
validate-no-empty | Empty Value |
validate-alphanum-with-spaces | Please use only letters (a-z or A-Z), numbers (0-9) or spaces only in this field |
validate-data | Please use only letters (a-z or A-Z), numbers (0-9) or underscore (_) in this field, and the first character should be a letter |
validate-street | Please use only letters (a-z or A-Z), numbers (0-9), spaces and “#” in this field |
validate-phoneStrict | Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890 |
validate-phoneLax | Please enter a valid phone number. For example (123) 456-7890 or 123-456-7890 |
validate-fax | Please enter a valid fax number (Ex: 123-456-7890) |
validate-email | Please enter a valid email address (Ex: [email protected]) |
validate-emailSender | Please enter a valid email address (Ex: [email protected]) |
validate-password | Please enter 6 or more characters. Leading and trailing spaces will be ignored |
validate-admin-password | Please enter 7 or more characters, using both numeric and alphabetic |
validate-customer-password | Minimum length of this field must be equal or greater than %1 symbols. Leading and trailing spaces will be ignored.Minimum of different classes of characters in password is %1. Classes of characters: Lower Case, Upper Case, Digits, Special Characters |
validate-url | Please enter a valid URL. Protocol is required (http://, https:// or ftp://) |
validate-clean-url | Please enter a valid URL. For example http://www.example.com or www.example.com |
validate-xml-identifier | Please enter a valid XML-identifier (Ex: something_1, block5, id-4) |
validate-ssn | Please enter a valid social security number (Ex: 123-45-6789) |
validate-zip-us | Please enter a valid zip code (Ex: 90602 or 90602-1234) |
validate-date-au | Please use this date format: dd/mm/yyyy. For example 17/03/2006 for the 17th of March, 2006 |
validate-currency-dollar | Please enter a valid $ amount. For example $100.00 |
validate-not-negative-number | Please enter a number 0 or greater in this field |
validate-zero-or-greater | Please enter a number 0 or greater in this field |
validate-greater-than-zero | Please enter a number greater than 0 in this field |
validate-css-length | Please input a valid CSS-length (Ex: 100px, 77pt, 20em, .5ex or 50%) |
validate-number | Please enter a valid number in this field |
required-number | Please enter a valid number in this field |
validate-number-range | The value is not within the specified range |
validate-digits | Please enter a valid number in this field |
validate-digits-range | The value is not within the specified range |
validate-range | The value is not within the specified range |
validate-alpha | Please use letters only (a-z or A-Z) in this field |
validate-code | Please use only letters (a-z), numbers (0-9) or underscore (_) in this field, and the first character should be a letter |
validate-alphanum | Please use only letters (a-z or A-Z) or numbers (0-9) in this field. No spaces or other characters are allowed |
validate-date | Please enter a valid date |
validate-date-range | Make sure the To Date is later than or the same as the From Date |
validate-cpassword | Please make sure your passwords match |
validate-identifier | Please enter a valid URL Key (Ex: “example-page”, “example-page.html” or “anotherlevel/example-page”) |
validate-zip-international | Please enter a valid zip code |
validate-one-required | Please select one of the options above |
validate-state | Please select State/Province |
required-file | Please select a file |
validate-ajax-error | bool |
validate-optional-datetime | The field isn’t complete |
validate-required-datetime | This is a required field |
validate-one-required-by-name | Please select one of the options |
less-than-equals-to | Please enter a value less than or equal to %s |
greater-than-equals-to | Please enter a value greater than or equal to %s |
validate-emails | Please enter valid email addresses, separated by commas. For example, [email protected], [email protected] |
validate-cc-type-select | Card type does not match credit card number |
validate-cc-number | Please enter a valid credit card number |
validate-cc-type | Credit card number does not match credit card type |
validate-cc-exp | Incorrect credit card expiration date |
validate-cc-cvn | Please enter a valid credit card verification number |
validate-cc-ukss | Please enter issue number or start date for switch/solo card type |
validate-length | Please enter less or equal than %1 symbols..replace(‘%1’, length);Please enter more or equal than %1 symbols..replace(‘%1’, length) |
required-entry | This is a required field |
not-negative-amount | Please enter positive number in this field |
validate-per-page-value-list | Please enter a valid value, ex: 10,20,30 |
validate-per-page-value | Please enter a valid value from list |
validate-new-password | Please enter 6 or more characters. Leading and trailing spaces will be ignored |
required-if-not-specified | This is a required field |
required-if-all-sku-empty-and-file-not-loaded | Please enter valid SKU key |
required-if-specified | This is a required field |
required-number-if-specified | Please enter a valid number |
datetime-validation | This is required field |
required-text-swatch-entry | Admin is a required field in each row |
required-visual-swatch-entry | Admin is a required field in each row |
required-dropdown-attribute-entry | Admin is a required field in each row |
validate-item-quantity | Please enter a quantity greater than 0;The fewest you may purchase is %1;
The maximum you may purchase is %1; You can buy this product only in quantities of %1 at a time |
password-not-equal-to-user-name | password-not-equal-to-user-nam |
You may want to bookmark this post for further use or share it with fellow developers via social media!
If you face any issues with the implementation, do let me know in the Comments section below. I’d be glad to help you.
Thanks.
Sanjay Jethva
Sanjay is the co-founder and CTO of Meetanshi with hands-on expertise with Magento since 2011. He specializes in complex development, integrations, extensions, and customizations. Sanjay is one the top 50 contributor to the Magento community and is recognized by Adobe.
His passion for Magento 2 and Shopify solutions has made him a trusted source for businesses seeking to optimize their online stores. He loves sharing technical solutions related to Magento 2 & Shopify.
Prev
Learn to Programmatically Create Bundled Product In Magento 2
Learn 12 Benefits of Personalization & Customization in E-commerce
Next