MiniShop2 и греческий язык
        В форме заказа не проходят валидацию греческие символы (например Σχήμα κουτιού και)
На счет php не знаю, но js точно не пропускает:
 
Не могу найти в default.js блок, который отвечает за валидацию.
    
    
                                                                                
            На счет php не знаю, но js точно не пропускает:
Не могу найти в default.js блок, который отвечает за валидацию.
Комментарии: 7
                а в параметре оплаты/доставки валидация данных полей отключена?            
                    
                Отмечено как обязательное для заполнения, но MiniShop видит его как пустое, если введены греческие буквы.            
                    
                Валидация проходит в msorderhandler.class.
Есть 2 эвента: msOnBeforeValidateOrderValue до валидации и msOnValidateOrderValue — после валидации.
Сейчас receiver пытается расставить символы согласно русскому и англ языку. (Имя)
Вам нужно попробовать на эвенте отлавливать значение, просто проверять его наличие и ставить валидацию в true
                    Есть 2 эвента: msOnBeforeValidateOrderValue до валидации и msOnValidateOrderValue — после валидации.
Сейчас receiver пытается расставить символы согласно русскому и англ языку. (Имя)
Вам нужно попробовать на эвенте отлавливать значение, просто проверять его наличие и ставить валидацию в true
                Спасибо!            
                    
                В итоге расширил класс:
                    <?php
class myOrderHandler extends msOrderHandler {
    public function validate($key, $value) {
        switch ($key) {
            case 'receiver':
                // убираем регулярку и просто проверяем чтобы поле не было пустым
                if (empty($value)) {
                    $value = false;
                }
            break;
            // Конечно, также можно переопределить и другие валидаторы
    
            // Если прислано поле, которого тут нет - отправляем в дефолтный класс
            default:
                return parent::validate($key, $value);
        }
        if ($value === false) {
            $value = '';
        }
    
        return $value;
    }
}            
                супер)            
                    
                Ребят, подскажите по событиям msOnBeforeValidateOrderValue и msOnValidateOrderValue 
Задача такая. Есть скрытое пол $typepayer значения либо 1 либо 2. Если 2 то нужно проверить заполненость ИНН
по логике нужно вернуть ключ поля с false, но что найти не могу и понять…
Не нужно добавлять поле ИНН в где-то в msOnBeforeAddToOrder или msOnAddToOrder?
                    Задача такая. Есть скрытое пол $typepayer значения либо 1 либо 2. Если 2 то нужно проверить заполненость ИНН
switch ($modx->event->name) {
    case "msOnValidateOrderValue":
        if ($key === 'typepayer') {
            $data = $order->get();
            
            // Если Юр лицо(val = 2) проверяем заполненость ИНН
            if($data['typepayer'] == 2 && empty($data['inn'])){
                
                $modx->log(1, print_r($data, 1));
                $modx->log(1, print_r($key, 1)); 
                //$modx->event->returnedValues['value'] = false;
                //$modx->event->output("Yыфвфы");    
                //return INN false
            }
        }
    break;
}Никак не соображу как вернуть error для поля инн, чтобы оно загорелось красным, в документации ничего не нашел про ответ плагинов и верно ли я выбрал событие под такую задачу?по логике нужно вернуть ключ поля с false, но что найти не могу и понять…
Не нужно добавлять поле ИНН в где-то в msOnBeforeAddToOrder или msOnAddToOrder?
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.