나는 코드를 반복하지 않기 위해 서브 클래스 기능을 활용하고 싶습니다. HTML::FormHandler을 사용하고 있습니다. myapp::Form::Account::Base
에서HTML :: FormHandler 하위 클래스 필드
myapp::Form::Account::Base
myapp::Form::Account::Register
myapp::Form::Account::Register
상속 : 현재 나는 두 가지 형태가있다.
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"를 추가하고 싶습니다 : myapp::Form::Account::Base
는 다음과 같이 정의 된 이메일 필드를 가지고 있습니다. 그러나, 나는이 작업을 수행 할 때마다 :
has_field 'email' => (
element_class => [qw/uniqueemail/],
);
는 myapp::Form::Account::Register
에, 그냥 완전히 이메일 필드의 부모 폼의 정의를 덮어 쓰고 새로운 것을 만든다. 어쨌든 부모의 양식 필드를 하위 클래스로 만들거나 추가 할 수 있습니까? 아니면 원하는 변경 사항을 얻으려면 이메일 필드를 다시 재정의해야합니까? 감사!
그리고 이것은 (요소 클래스 이외의) 전자 메일 정의의 다른 모든 부분을 동일하게 남겨 둡니까? – srchulo
예. 설정을 결합하는 해시가 다소 복잡하게 병합됩니다. – gshank