1

次のコード スニペットがあり、標準のクライアント側の HTML 検証がトリガーされません。標準の検証をトリガーし、有効な場合に呼び出されるアクションを取得するにはどうすればよいですか。

<h:form>
<h:inputText type="text" value="#{myBean.value}">
<f:passThroughAttribute name="required" value="required" />
</h:inputText>
<h:commandButton value="submit" type="submit" action="#{myBean.save}">
<f:ajax execute="@form" render="@form" />
</h:commandButton>
</h:from>

ajax がないと、クライアント側の検証がトリガーされ、入力が空の場合、フォームは送信されません。

ajaxでこれに到達するにはどうすればよいですか?

4

1 に答える 1

3

form.checkValidity()JSF ajax エンジンは、リクエストを処理する前にHTML5 をチェックしません。onclick基本的に、コマンド ボタンの属性でその作業を自分で行う必要があります。が返された場合false、ajax アクションをブロックします。

エンドユーザーが完全に制御できるため、クライアント側の検証だけに頼るべきではないことに注意してください。サーバー側の検証も追加することを強くお勧めします。ajax を追加すると、クライアント側の検証と同じユーザー エクスペリエンスでサーバー側の検証を簡単に利用できます。

以下も参照してください。

于 2013-08-28T10:55:34.567 に答える