Проверка почтового индекса/почтового индекса не работает должным образом


В billing.phtml файле Почтовый индекс Проверка не работает должным образом.

1) Когда поле I пустое, оно спрашивает, требуется ли это нормально.

2) Но письмо также разрешает это поле. Я не хочу разрешать буквы, только числовые значения позволят.

Мой код

<div class="field">
                        <label for="billing:postcode" class="required"><em>*</em><?php echo $this->__('Zip/Postal Code') ?></label>
                        <div class="input-box">
                            <input type="text" title="<?php echo $this->__('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international <?php echo $this->helper('customer/address')->getAttributeValidationClass('postcode') ?>" />
                        </div>
                    </div>

И

Я установил значение true в javascript также

var billingForm = new VarienForm('co-billing-form',true);

Могу ли я узнать, где я ошибся? или как это сделать?

Спасибо.

Author: Magento007, 2014-07-10

1 answers

Вы должны иметь возможность изменить класс с "validate-zip-international" на "validate-number", чтобы добавить проверку JS-интерфейса Magento для чисел или "validate-цифр".

Источник:/js/prototype/validation.js для списка всех классов проверки (добавьте этот метод)

['validate-number', 'Please enter a valid number in this field.', function(v) {
    return Validation.get('IsEmpty').test(v) || (!isNaN(parseNumber(v)) && !/^\s+$/.test(parseNumber(v)));
}],
['validate-digits', 'Please use numbers only in this field. Please avoid spaces or other characters such as dots or commas.', function(v) {
     return Validation.get('IsEmpty').test(v) ||  !/[^\d]/.test(v);
}]
 1
Author: Douglas Radburn, 2014-07-10 10:40:18