0

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に指示する方法はありますか?ドキュメントを調べたところ、どこにも見つからないようですが、事前定義された値を持つフィールドを用意するのは理にかなっているようです。ありがとう!

4

1 に答える 1

1

HTML::FormHandler::Field::Selectこのチェックのコードによると、すでに行われています。試しましたか?

于 2013-01-27T12:32:35.533 に答える