2013-08-09 1 views
0

Я хочу установить максимальное значение атрибута «Дата рождения» (dob) клиента.Как установить максимальное значение атрибута даты в Magento?

Я хочу установить эту дату только раньше, чем сегодня (не для будущего). После изменения я хочу иметь JS-проверку на сервере adminhtml на экране редактирования клиента.

Я хочу обновить этот атрибут в сценариях установки в моем модуле. Как достичь этого?

Заранее за вашу помощь.

ответ

2

Вы должны его закодировать. Панель администратора использует Prototype Validation: вы можете расширить, создав собственный файл JS с вашими правилами проверок, в виде:

if(Validation) { 
    Validation.add AllThese ([ 
    ['validate-dob', // class/rule name 
    'DOB cannot be in the future', // Error message 
     function (v) { 
     // TODO: validation of input, 'v' being the input. 
     // return true (input is ok) or false 
    }] 
     // more rules here, if needed.. 
    ])}; 

Затем динамически добавлять класс «проверить-DOB» в поле ввода DOB клиента. Вы можете сделать это и в этом файле. Добавьте свой пользовательский файл для загрузки в тему администратора в adminhtml макет по умолчанию main.xml.

2

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

var theForm = new VarienForm('theForm', true); 
Validation.add('validate-dob','You failed to enter baz!',function(the_field_value){ 
    if(check date) 
    { 
     return true; 
    } 
    return false; 
}); 

см How to add a custom validation to Magento prototype

Затем включая файл JS с помощью local.xml

<adminhtml_sales_order_view> 
    <reference name="head"> 
     <action method="addItem"><type>skin_js</type><name>path/to/validation_dob.js</name></action> 
    </reference> 
</adminhtml_sales_order_view>