Назначьте два класса valide в одной форме поля ввода
js/prototype/validation.js
У меня есть два класса: проверка-электронная почта, подтвердить -номер мобильного телефона
customer/form/login.phtml
В вводе электронной почты клиент может войти в систему с адресом электронной почты или номером телефона, поэтому я хотел бы сделать следующее: когда пользователь вводит адрес электронной почты, я проверяю класс электронной почты: проверка-электронная почта и если он вводит номер телефона, я проверяю его класс телефона: проверка-номер мобильного телефона
<li>
<label for="email" class="required"><em>*</em><?php echo $this->__('Email address or phone number') ?></label>
<div class="input-box">
<input type="text" name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" id="email" class="input-text required-entry " title="<?php echo $this->__('Email address or phone number') ?>" />
</div>
</li>
РЕДАКТИРОВАТЬ: На основа ответа Джеймина Сутарии
В js/prototype/validation.js нам нужно добавить пользовательскую проверку
Validation.add('validate-email-or-phone', 'Please enter a valid Email address or phone number.', function(v) {
return Validation.get('IsEmpty').test(v) || Validation.get('validate-email').test(v) || Validation.get('validate-mobilePhoneNumber').test(v)
})
1 answers
Вы можете добиться этого, добавив пользовательскую проверку в поле формы. Добавьте приведенный ниже сценарий проверки в свой файл phtml.
<script type="text/javascript">
//<![CDATA[
Validation.add('validate-email-or-phone', 'Please enter a valid Email address or phone number.', function(v) {
return Validation.get('IsEmpty').test(v) || Validation.get('validate-email').test(v) || /^(\+\d{1,3}[- ]?)?\d{10}$/.test(v)
});
Translator.add("Please enter a valid Email address or phone number.","<?php echo $this->__("Please enter a valid Email address or phone number."); ?>");
//]]>
</script>
Вам нужно заменить validate-email
класс на validate-email-or-phone
в текстовом поле. Эта проверка будет проверять адрес электронной почты и номер мобильного телефона, он будет принимать все номера, включенные в этот вопрос.
Вам нужно добавить CSV-файл для перевода.