$c が必要な場合 prepare ハンドラは使うべきではない
代りに prepare_*
を使え。
そもそも NEXT のチェーンで
sub prepare {
my $class = shift;
my $c = $class->NEXT::prepare(@_);
...
}
とか、NEXT 呼んだ後に処理を書くべきじゃないと思う。こうすると実行される順番があべこべになってしまう。
こうする必要があるのは prepare は $c
ではなくクラス名を渡されるようになっているため。
prepare_*
は $c がわたされる。
SYNOPSIS of Plugin::FormValidator::Simple::Auto
use Catalyst qw/ FormValidator::Simple FormValidator::Simple::Auto /;
__PACKAGE__->config(
validator => {
messages => 'messages.yml',
profiles => 'profiles.yml',
# and other FormValidator::Simple config
},
);
# profiles.yml
action1:
param1:
- NOT_BLANK
- ASCII
- [ 'LENGTH', 4, 10 ]
param2:
- NOT_BLANK
# then your action
sub action1 : Global {
my ($self, $c) = @_;
# $c->form($profile) already executed!
unless ($c->form->has_error) {
...
}
}
とか言うのを作ろうかと。
牧さんのパクリ。
ペルー 100g
新しいの。ブラジルなんちゃらは名前覚えらんなかったのでこっち。
うっかり袋もらっちゃった。スタバの袋って柄がおもろいからもらうと捨てにくいんだよなー。