7

I want to change default validation for all password field.

I want to change for all password field and validation is minimum 8 characters and at least one number include.

Can anyone help me with this?

asked Dec 28, 2018 at 6:10
6
  • If you want to allow only digit to password field then you want to go with custom JS validation. Commented Dec 28, 2018 at 6:51
  • @ChiragPatel Do i need to override default JS for validation? Commented Dec 28, 2018 at 6:54
  • No you don't need to override JS file you need to override phtml file and add custom script to phtml file. Check my answer. Commented Dec 28, 2018 at 6:57
  • Can you please let me know which phtml file do i need to override? And what exactly comes in custom script? Commented Dec 28, 2018 at 6:58
  • Check my answer. Commented Dec 28, 2018 at 6:59

4 Answers 4

8

If you want to validate customer login password then override phtml file in to your design folder like below.

app/design/frontend/vendor/theme/Magento_Customer/templates/form/login.phtml

Find the line data-validate="{required:true, 'validate-password':true}"

And replace with data-validate="{required:true, 'validate-mycustom-password':true}"

Add the following code at the end of the file.

<script type="text/javascript">
 require([
 'jquery',
 'jquery/ui',
 'jquery/validate',
 'mage/translate'
 ], function($){
 $.validator.addMethod(
 'validate-mycustom-password', function (value) { 
 return (value.length == 6 && /^-?\d+$/.test(value));
 }, $.mage.__('Password length should be 6 and only numbers are allowed'));
 });
</script>

Don't forgot to run necessary command like static:content:deploy & cache:flush

Note: I give a validation for Max limit & allow only number. you have to customize script as per your requirement.

Ashish Viradiya
1,5802 gold badges20 silver badges39 bronze badges
answered Dec 28, 2018 at 6:58
1
  • hi, @Chirag how can we add validation for custom fields, i have a new form like create account, how can we add same validation there Commented Feb 28, 2020 at 9:32
6

@chirag, Thanks for your suggestion and from your suggestion i have made changes in register.phtml file and now my requirement is working. Please check below my code.

app/design/frontend/Custom/theme/Magento_Customer/templates/form/register.phtml

I have added below script.

<script type="text/javascript">
require([
 'jquery',
 'jquery/ui',
 'jquery/validate',
 'mage/translate'
], function($){
 $.validator.addMethod(
 'validate-mycustom-password', function (value) {
 return (value.length >= 8 && /^(?=.*?[0-9]).{8,}$/.test(value));
 }, $.mage.__('Minimum 8 characters with at least one number'));
});
</script>
answered Dec 28, 2018 at 10:09
0
1

This is a configuration item.

In Stores> Configuration> Customers> Customer Configuration> Password Options

There is an option for Number of Required Character Classes:

enter image description here

answered Dec 28, 2018 at 6:35
3
  • i got this option but i want to display validation like below. "minimum 8 characters with at least one number" Commented Dec 28, 2018 at 6:47
  • Go to adminpanel - stores - configuration - customers - customers configuration - Number of Required Character Classes and set 3. Commented Dec 28, 2018 at 6:57
  • and set Min length 8, it will match your requirements. Commented Dec 28, 2018 at 6:58
0

This is available in configuration item in the Admin Panel

In Stores> Configuration> Customers> Customer Configuration> Password Options there are options like Minimum Password Length and Number of Required Character Classes

answered Dec 28, 2018 at 6:15
1
  • i have checked what did you mentioned but minimum character is set to 8 but in Number of Required Character Classes how to set only Digits? Commented Dec 28, 2018 at 6:29

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.