日向夏特殊応援部隊

俺様向けメモ

Catalyst-Plugin-FillInFormのfinalizeがうざい件

  1. g:catalyst:id:ikasam_a:20061126:1164552341
  2. http://blog.hide-k.net/archives/2006/11/catalystplugins.php

ここでも述べられてますけど、finalizeで強制fillformの刑ってのは若干どうなんだろとか思う訳ですよ。

ちなみにこれのせいでうちのチームのid:jojo_a_gogogoさんがハマってたので、
僕ならこんな風に直すみたいな。

sub finalize {
    my $c = shift;

    my @support_type = qw(text/html application/xhtml+xml);

    if ( $c->isa('Catalyst::Plugin::FormValidator') && (grep { $c->request->content_type eq $_ } @support_type) == 1) {
        last if ($c->config->{fill_in_form}{no_auto});

        $c->fillform
          if $c->form->has_missing
          || $c->form->has_invalid
          || $c->stash->{error};
    }
    return $c->NEXT::finalize(@_);
}
  1. Content-Typeはtext/html, application/xml+xhtml以外はスルー
  2. no_autoオプションでもスルー

Catalystグループ、熱心に研究されてて凄いですなぁ。