多くのフィールドを持つフォームがあり、そのうちの 2 つにコードが含まれています。コードが一致しないことを検証したい。要素は次のとおりです。
'code1' => array('text', array(
'required' => true,
'label' => 'form-label-code-1',
'filters' => array('StringTrim'),
'attribs' => array('placeholder' => 'Code 1'),
'decorators' => array(
'ViewHelper',
array('HtmlTag', array('tag' => 'div')),
'Errors'
),
'validators' => array(
array('Callback', true, array(
'callback' => array($cservice, 'checkCodesUsed'),
'messages' => array(
Zend_Validate_Callback::INVALID_VALUE => 'form-error-code-exists'
)))
)
)),
'code2' => array('text', array(
'required' => true,
'label' => 'form-label-code-2',
'filters' => array('StringTrim'),
'attribs' => array('placeholder' => 'Code 2'),
'decorators' => array(
'ViewHelper',
array('HtmlTag', array('tag' => 'div')),
'Errors'
),
'validators' => array(
array('Callback', true, array(
'callback' => array($cservice, 'checkCodesUsed'),
'messages' => array(
Zend_Validate_Callback::INVALID_VALUE => 'form-error-code-exists'
)))
)
)),
現在のコールバックは、値がデータベースに既に存在するかどうかを確認するだけです。code1 と code2 の両方の値を持つコールバックを指定するにはどうすればよいですか? zend のドキュメントに頭を悩ませているようには見えません。