Uploaded image for project: 'S2JSF'
  1. S2JSF
  2. JSF-1

[Seasar-user:3634]select子要素のvalidatorが動作しない場合がある

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.0.16
    • Affects Version/s: 1.0.14
    • None
    • Environment:
      S2JSF1.0.14
      Seasar2.3.8

      <select>タグ(select-one、multipleいずれも)の<option>要素を静的に指定した場合は
      値を選択した場合にvalidateが呼ばれます。しかし、
      動的に指定した場合は値の選択にかかわらずvalidateが呼ばれません。
      これも仕様でしょうか。

      exampleのvalidator.htmlの「to」を

      a)

      <select id="to" m:label="To" multiple="multiple">
       <span m:inject="s:validator"
       m:binding="#{greaterEqualValidator}"
       m:targetId="from"/>
       <option value="1">1</option>
       <option value="2">2</option>
       <option value="3">3</option>
       <option value="4">4</option>
      </select>
      

      このようにした場合は値が選択した場合S2GreaterEqualValidator#validateが呼ばれます。

      b)

      <select id="to" m:label="To"
      m:value="#{selectManyListboxDto.bbb}"
      m:items="#{selectManyListboxBbbItems}"
      multiple="multiple">
       <span m:inject="s:validator"
       m:binding="#{greaterEqualValidator}"
       m:targetId="from"/>
      </select>
      

      このようにした場合は値の選択にかかわらずS2GreaterEqualValidator#validateが呼ばれません。

      現在、複数の入力項目のうち1つ以上に入力があればOK、1つも入力がなければNGというバリデータを
      作成したのですが、上記が原因で要件を満たすことができません。
      特に<select>タグの<option>要素を動的に指定した場合にvalidateが呼ばれないというのは厳しいです。
      上記1,2のケースでvalidateが呼ばれて欲しいのですがどうでしょうか。

            Assignee:
            shot shot
            Reporter:
            manhole manhole
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: