HTML :: FormHandlerを使用していくつかのフォームを作成していますが、送信された値が実際にユーザーに指定された値であることを確認することで、フォームの選択フィールドを検証できるようにしたいと思います。現在、これが選択フィールドの設定方法です。
has_field 'choice' => (
type => 'Select',
label => 'Choice',
options => [{value=>"1",label=>"One"},{value=>"2"=>label=>"Two"}],
empty_select => '---Choose an Option---',
apply => [{
check => ['1','2'],
message => 'Must be a value in the list.',
}],
);
今のところこれは機能しますが、もっとエレガントな方法があるのではないかと思いました。HTML :: FormHandlerはフィールドにどのようなオプションがあるかをすでに知っているので、ユーザーが選択したものが実際にそれらのオプションの1つであることを検証するようにHTML :: FormHandlerに指示する方法はありますか?ドキュメントを調べたところ、どこにも見つからないようですが、事前定義された値を持つフィールドを用意するのは理にかなっているようです。ありがとう!