(ページの作成:「== sfForm エラーの記述方法 == === sfValidatorCallback === * symfony sfForm機能にはさまざまなValidatorがありますが、オリジナルのチェック...」) |
Dondariadmin (トーク | 投稿記録) |
||
49行目: | 49行目: | ||
<!-- フィールドのエラー --> | <!-- フィールドのエラー --> | ||
<?php echo $form['hogehoge']->renderError() ?> | <?php echo $form['hogehoge']->renderError() ?> | ||
+ | |||
+ | [[Category:PHP]] | ||
+ | [[Category:symfony]] |
class MyForm extends BaseForm { public function configure() { $this->getValidatorSchema()->setPostValidator( new sfValidatorCallback(array('callback' => array($this, 'validateCount'))) ); } }
// MyForm class public function validateCount(sfValidatorBase $validator, $values) { // hogehogeフィールドのエラーとして通知する if ($values['hogehoge_count'] == 0) { $errors = array( 'hogehoge' => new sfValidatorError($validator, 'hogehoge countがゼロです!') ); throw new sfValidatorErrorSchema($validator, $errors); } // グローバルエラーとして通知する if ($values['hogehoge_count'] > 100) { throw new sfValidatorError($validator, 'hogehoge count が100を超えています!'); } return $values; }
<?php echo $form->renderGlobalErrors() ?> <?php echo $form['hogehoge']->renderError() ?>Tweet