В поле "Телефон" я хочу добавить подтверждение по телефону.
Моя попытка:
HTML
<input type = "phone" name = "phone" id = "phone" title = "phone" class = "input-text" data-validate = "{required:true, 'validate-phone':true}">
JS
<script type = "text/javascript">
require([
'jquery', // jquery Library
'jquery/ui', // Jquery UI Library
'jquery/validate', // Jquery Validation Library
'mage/translate', // Magento text translate (Validation message translte as per language)
'mage/mage'
], function($){
$.validator.addMethod(
'validate-phone', function (value) {
return (value !== 'okey'); // Validation logic here
}, $.mage.__('Please enter a correct format number.'));
});
</script>
При этом я получаю сообщение об ошибке "Please enter a correct format number." juste при вводе окей в поле телефона.
Я хочу сделать то же самое, когда пользователь:
оставьте поле пустым.
не вводите число из 10 цифр.
и не начинайте с 06 или 07.
Мое регулярное выражение: /^0(6|7)[0-9]{8}$/ Я не знаю, как его вернуть.
@Tushar Тоже работает, спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете попробовать это:
<script type = "text/javascript">
require([
'jquery', // jquery Library
'jquery/ui', // Jquery UI Library
'jquery/validate', // Jquery Validation Library
'mage/translate', // ...
'mage/mage'
], function($){
$.validator.addMethod(
'validate-phone', function (value) {
// Test against your Regex
return /^0(6|7)[0-9]{8}$/.test(value);
}, $.mage.__('Please enter a correct format number.'));
});
</script>
Подробнее здесь.
Боковое примечание: +33612345678 - тоже действительный номер телефона (альтернатива 0612345678)
return yourRegEx.test(value)