4

フォームタグを使用しています。

<form:form commandName="foo">
    <div class="myclass  ">
        <label>Foo</label>
            <form:input path="fooName"/>
    </div>
        <div class="controls">
            <input type="submit" class="btn" value="Submit"/>
        </div>
</form:form>

質問

特定のフィールドでエラーが発生したかどうかを確認する方法はありますか?

私は知って<form:erros path="fooName"/>いますが、これによりエラーメッセージが出力されます。プロパティでエラーが発生したかどうかに基づいて、単に true または false を返すものを求めていfooNameます。エラーが発生した場合、css クラスerrorを次の場所に挿入できるため、これが必要です。my class

4

1 に答える 1

16

はい、可能です:

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>                             
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>

<form:form commandName="foo">
    <spring:bind path="fooName">
        <div class="myclass ${status.error ? 'error' : ''}">
            <label>Foo</label>
            <form:input path="fooName"/>
        </div>
    </spring:bind>
    <div class="controls">
        <input type="submit" class="btn" value="Submit"/>
    </div>
</form:form>

タグ内でフィールドを囲むと、 type の<spring:bind>暗黙の変数にアクセスできます。フィールドにエラーがあるかどうかを確認するために使用できます。statusBindStatus

次のリンクも役立つでしょう。


JSP 2.2を使用する環境でのみ機能する別の方法を次に示します (その内部では type の変数に<spring:hasBindErrors>アクセスできます) 。errorsErrors

<spring:hasBindErrors name="foo">
    <div class="myclass ${errors.hasFieldErrors('fooName') ? 'error' : ''}">
        <label>Foo</label>
        <form:input path="fooName"/>
    </div>
</spring:hasBindErrors>
于 2013-05-13T07:40:27.600 に答える