FormHelper::input()
オプションがありformat
ます。それは
要素順序の書式テンプレート。配列にない要素は出力に含まれません。
デフォルトの入力形式の順序: array('before', 'label', 'before', 'input', 'after', 'error')
を省略して、デフォルトの形式を渡すことができます'error'
。
echo $this->Form->input(
'some_field',
array('format' => array('before', 'label', 'between', 'input', 'after'))
);
これにより、エラー メッセージのない入力マークアップが生成されるはずです。
これをフォームの複数の入力に適用する場合は、DRY のままにしておく必要があります。
$format = array('before', 'label', 'between', 'input', 'after');
echo $this->Form->input(
'some_field',
array('format' => $format)
);
echo $this->Form->input(
'some_other_field',
array('format' => $format)
);
フォーマットをasに渡すことで、フォームのすべての入力にデフォルトのフォーマットを設定することもできます。FormHelper::create()
inputDefaults
$this->Form->create(
'MyModel',
array(
'inputDefaults' => array(
'format' => array('before', 'label', 'between', 'input', 'after')
)
)
);