カスタムSpring Validatorクラスですべての検証を検証するSpringアプリケーションがあります。
私のフォームには 15 近くのフィールドがあります。最後のフィールドにエラーがある場合、その要素にフォーカスを設定する方法を教えてください。
スプリングタグはそれをサポートしていますか? 技術的なアイデアはありますか? 現在、フィールド自体の近くにエラー メッセージを表示しています。
カスタムSpring Validatorクラスですべての検証を検証するSpringアプリケーションがあります。
私のフォームには 15 近くのフィールドがあります。最後のフィールドにエラーがある場合、その要素にフォーカスを設定する方法を教えてください。
スプリングタグはそれをサポートしていますか? 技術的なアイデアはありますか? 現在、フィールド自体の近くにエラー メッセージを表示しています。
spring:bindタグを使用して、フィールドまたはモデルオブジェクト全体にエラーがあるかどうか、および処理(送信)後のオブジェクトの全体的なステータスを判別できます。
<spring:bind path="user.username">
<input id="inputId" type="text" name="${status.expression}" value="${status.value}"/>
<c:if test="${status.error}">
<c:forEach items="${status.errorMessages}" var"error">
<span class="field-error">${error}</span>
</c:forEach>
<script type="text/javascript">
document.getElementById('inputId').focus();
</script>
</c:if>
</spring:bind>
ノート:
status
変数はspring:bind
タグによって公開されます。エラーのあるすべてのフィールドにオートフォーカスを設定できますが、ブラウザは最初のフィールドにのみオートフォーカス (およびスクロール) します。
<spring:bind path="someFieldName">
<input type="text" name="someFieldName" value="${status.value}" ${status.error?'autofocus="autofocus"':''} />
</spring:bind>
<form:input />
条件付き属性では機能しないため、ここではスプリングを使用できません。