В друпале есть вот такая конструкция
$form['type_delivery'] = array(
'#type' => 'radios',
'#options' => array('courier' => t('Courier'), 'other' => t('Other')),
'#title' => t('Delivery type'),
'#default_value' => 'courier',
);
$form['type_delivery_other'] = array(
'#type' => 'textfield',
'#title' => t('Other delivery type'),
'#required' => true,
'#states' => array(
'visible' => array(
'input[name="type_delivery"]' => array('value' =>'other'),
),
),
);
Поле
type_delivery_other появляется только когда поле
type_delivery имеет значение
other
Вопрос: Как сделать по аналогии зависимость параметра
#required? Т.е. если поле
type_delivery имеет значение
other то поле
type_delivery_other обязательное, а если
type_delivery имеет другое значение то
type_delivery_other НЕ обязательное.
Добавлено 30.09
Как оказалось в параметре states есть нужное мне свойство.
Решил задачу так:
$form['type_delivery'] = array(
'#type' => 'radios',
'#options' => array('courier' => t('Courier'), 'other' => t('Other')),
'#title' => t('Delivery type'),
'#default_value' => 'courier',
);
$form['type_delivery_other'] = array(
'#type' => 'textfield',
'#title' => t('Other delivery type'),
'#required' => true,
'#states' => array(
'visible' => array(
'input[name="type_delivery"]' => array('value' =>'other'),
),
'required' => array(
'input[name="type_delivery"]' => array('value' =>'other'),
),
),
);