Проверка с использованием идентичного значения из другой подчиненной формы - PullRequest
1 голос
/ 12 декабря 2011

Я разделил длинную одностраничную форму на подчиненные, ожидая, что она будет разбита на многостраничную форму позже в жизненном цикле проекта. У меня проблемы с токеном var в идентичном валидаторе ниже.

Из объекта Application_Form:

$authorizedIndividual = new Zend_Form_SubForm();
// .. authorizedName text element setup here

$termsAgree = new Zend_Form_SubForm();

// Add termsAgree
$termsAgree->addElement('text', 'termsAgree', array(
    'label'         => 'By typing your name in the preceding field, you, as the authorized individual agree to etc. etc. etc.',
    'class'         => 'termsAgree',
    'required'      => true,
    'filters'       => array('StringTrim'),
    'validators'    => array(
        array('validator' => 'Identical', true, $authorizedIndividual->authorizedName )
    )
));

1 Ответ

0 голосов
/ 07 января 2012

Насколько я знаю, Zend_Validate_Identical работает только со строковыми токенами.Значение извлекается из контекста (данные isValid) через этот токен.

Самое простое решение вашей проблемы - определить токен в методе isValid и использовать вместо него значение authorizedName.

...