Сайт на окай 2
для разных способов доставки понадобилось сделать разную валидацию полей.(обязательные или нет)
Код: Выделить всё
$validate_name = false;
$validate_email = false;
$validate_phone = false;
if ($order->delivery_id == 2) {
$validate_name = true;
$validate_email = true;
$validate_phone = true;
} else {
$validate_phone = true;
}
if (!$this->validate->is_name($order->name, $validate_name)) {
$this->design->assign('error', 'empty_name');
} elseif (!$this->validate->is_email($order->email, $validate_email)) {
$this->design->assign('error', 'empty_email');
} elseif (!$this->validate->is_phone($order->phone, $validate_phone)) {
$this->design->assign('error', 'empty_phone');
}
В принципе на стороне корзины работает данное решение.
А вот с валидацией сложнее.
Думал сделать так, 2 валидации
Код: Выделить всё
if ($(".fn_validate_cart").size() > 0) {
$(".fn_validate_cart").validate({
rules: {
name: "required",
phone: "required",
email: {
required: true,
email: true
},
captcha_code: "required"
},
messages: {
name: form_enter_name,
phone: form_enter_phone,
email: form_enter_email,
captcha_code: form_error_captcha,
}
});
}
if ($(".fn_validate_cart_phone").size() > 0) {
$(".fn_validate_cart_phone").validate({
rules: {
phone: "required",
captcha_code: "required"
},
messages: {
phone: form_enter_phone,
captcha_code: form_error_captcha,
}
});
}
и думал что меняя классы буду запускать определенную валидацию. Но не работает. постоянно требует заполнить 3 поля. Как на стороне script.tpl сдлеать чтоб можно было валидацию переключать в зависимости от доставки?