【fuelphp】validationの使い方ひな形

久々に使おうとして忘れていたので自分用にメモ


Controller

class ValidateException extends Exception {}

class Controller_Sample extends Controller
{
    public function action_confirm()
    {
        try
        {
            // validation定義
            $val = Validation::forge();
            $val->add('email','メールアドレス')->add_rule('required')->add_rule('valid_email');
            $val->add('nickname','ニックネーム')->add_rule('required');

            // validation実行
            if (!$val->run()) {
                throw new ValidateException;
            }

            ・・・

           $view = View::forge('sample/input');
           return $view;
        }
        catch(ValidateException $e)
        {
            $view = View::forge('sample/confirm');
            $view->set('errors', $e->getMessage() ? array($e->getMessage()) : $val->error());
            return $view;
        }
    }
}

View

<?php if (empty($errors["nickname"])) { ?>
     <?php echo $errors["nickname"]; ?>
<?php } ?>

<?php if (empty($errors["email"])) { ?>
     <?php echo $errors["email"]; ?>
<?php } ?>

みんなもっとうまい使い方してるのかな、、、
いちおう見やすい・わかりやすいが自分のコンセプトです

以上です