私はHTML::FormHandlerを使用していますが、コードを繰り返さないように、そのサブクラス化機能を利用したいと考えています。現在、私は2つのフォームを持っています:
myapp::Form::Account::Base
myapp::Form::Account::Register
myapp::Form::Account::Register
から継承しmyapp::Form::Account::Base
ます。myapp::Form::Account::Base
次のように定義された電子メール フィールドがあります。
has_field 'email' => (
label => 'Email',
type => 'Text',
apply => [ Email ],
element_class => [qw/email/],
required => 1,
unique => 1,
element_attr => {autocomplete=>"off"}, #for register page
);
ではmyapp::Form::Account::Register
、まったく同じ定義済みの電子メール フィールドが必要ですが、それにクラス「uniqueemail」を追加したいと考えています。ただし、これを行うたびに:
has_field 'email' => (
element_class => [qw/uniqueemail/],
);
ではmyapp::Form::Account::Register
、親フォームの電子メール フィールドの定義を完全に上書きし、新しいものを作成します。親のフォームフィールドをサブクラス化するか、それに追加するだけですか、それとも必要な変更を取得するためにメールフィールドを再定義する必要がありますか? ありがとう!