0

私は何時間も探していましたが、Zend_Formの初期化としてZend_Config_Iniを使用して要素のデフォルト値を設定する方法について、どこにもドキュメントが見つかりません。

通常のPHPコードでそれを行う方法についてのドキュメントを見てきました...

$validators = array(
    'month' => array(
        'digits',
        'default' => '1'
    )
);
// no value for 'month' field
$data = array();
$input = new Zend_Filter_Input(null, $validators, $data);
echo $input->month; // echoes 1

ただし、.iniファイルでの設定方法に関するドキュメントはありません。私はすべてを試しました(明らかにそうではありませんが、そう思われます)!!

誰かが「構文」を知っていますか?

query.elements.rows.type = "text"
query.elements.rows.options.required = true
query.elements.rows.options.validators.rows.validator = "digits"
query.elements.rows.default = 0 # DOESN'T WORK!

指定された「行」の値が「数字」でない場合は、「0」に設定します。

前もって感謝します!!

4

1 に答える 1

1
query.elements.rows.type = "text"
query.elements.rows.options.required = true
query.elements.rows.options.validators.rows.validator = "digits"
query.elements.rows.options.value = 0 # This works ;)

提供された「行」の値が「数字」でない場合は、「0」に設定します。

これは、デフォルトのオプションでは実現できません。次のコードを試してください。

if( !$form->isValid( $_POST ) ) {
    $errorsMessages = $form->getMessages();
    if(isset($errorsMessages['rows']['notDigits'])){
        $form->getElement( 'rows' )->setValue( '0' ) ;
    }
}
于 2010-01-14T10:57:36.390 に答える