Центр документации
Карта сайта


Новая документация

Настройка платежных систем
Настройка способа оплаты КупиВкредит
Настройка способа оплаты Acquiro
Настройка способа оплаты AvisoSMS

Обновленная документация 

Разработчикам (API)
Руководство пользователя

Форма - валидация

Возможно добавить свою валидацию поля, которая будет выполняться на стороне клиента.

Например можно проверить возраст участника: 

$this->addField(array('name' => 'birth', 'type' => 'date', 'validate' => array('custom')));


В этом случае при проверке поля будет посылаться сообщение «ON_FORM_FIELD_VALIDATE», которое можно перехватить и проверить на правильность.
В случае, если проверка не прошла, достаточно установить флаг error массива параметров в 'true'.

Для этого нужно создать JavaScript файл с обработчиком сообщения:
"_local/_admin/_js/inst_sample_module/form.adm.js"
и добавить в него код обработчика

AMI.Message.addListener(
    'ON_FORM_FIELD_VALIDATE',
    function(oParameters){
        if(oParameters.oField.value.substr(-4) > 1995){
            alert(AMI.Template.Locale.get('form_validate_birth_too_young'));
            oParameters.error = true;
            return(false);
        }
        return true;
    }
);

А в файл языковых переменных "_local/_admin/templates/60/inst_sample_module_client.lng":

%%form_validate_birth_too_young%en%%
User too young!
%%form_validate_birth_too_young%ru%%
Пользователь слишком молод!

JavaScript файл необходимо подключить в классе отображения формы:

class AmiClean_AmiSample_FormViewAdm extends Hyper_AmiClean_FormViewAdm{
    public function init(){
 
        // ...
 
        $this->addScriptFile('_local/_admin/_js/' . $this->getModId() .  '/form.adm.js');
 
        // ...
 
        return parent::init();
    }
}

После проделанных действий дата рождения пользователя будет проверяться, а в случае неудачи отобразится соответствующее сообщение.

Подробнее о валидации на стороне клиента можно прочесть здесь.

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API) Документация для скачивания
 2000 – 2011 © Amiro.CMS Все права защищены.