Я хочу запретить клиентам вводить почтовые ящики в адрес доставки для выбранных способов доставки (в данном случае, UPS). Я мог бы переопределить js/prototype/validation.js
, чтобы вставить новый шаблон проверки, но я не хочу разветвлять такой файл ключа.
Существует ли механизм для ненавязчивой проверки адреса доставки клиента, ПОСЛЕ того, как он выберет способ доставки через Javascript без переопределения основных файлов?
Я вижу, что Validation.add
используется внутри validation.js
, поэтому возможно добавить новый метод проверки вне основного файла?
Регулярное выражение, которое я хочу применить:
\b([P|p](OST|ost)?\.?\s?[O|o|0](ffice|FFICE)?\.?\s)?([B|b][O|o|0][X|x])\s(\d+)
Если проверка не может быть выполнена элегантно в JS, я был бы заинтересован в Наблюдателе на controller_action_predispatch_onepage_saveShippingMethod
, который проверяет данные и выполняет перенаправление Ajax обратно в форму адреса доставки, если это необходимо.