Spring MVC - 如果有验证错误,如何设置父div的类?

And*_*lov 5 jsp jsp-tags spring-mvc

有没有办法将任意元素的css类绑定到模型绑定状态?

<form:form method="post" commandName="authForm" action="authenticate">
  <div id="login-error" class="control-group">
    <label>Login</label>
    <form:input path="name" />
    <span class="help-inline"><form:errors path="name" /></span>
  </div>

  <div class="control-group">
    <label>Password</label>
    <form:input path="password" />
    <span class="help-inline"><form:errors path="password" /></span>
  </div>

  <input type="submit" />
</form:form>
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我需要管理login-error类,以便control-group在没有错误时和control-group error有(第二个相同的想法control-group).

这里有什么常见的解决方案?

更新

这是我没有绑定错误时所需要的:

<div class="control-group"> <!-- !!!!!!!!!!!! -->
  <label>Login</label>
  <form:input path="name" />
  <span class="help-inline"><form:errors path="name" /></span>
</div>
Run Code Online (Sandbox Code Playgroud)

这是绑定错误时我需要的:

<div class="control-group error"> <!-- !!!!!!!!!!!! -->
  <label>Login</label>
  <form:input path="name" />
  <span class="help-inline"><form:errors path="name" /></span>
</div>
Run Code Online (Sandbox Code Playgroud)

寻找解决方案.

And*_*lov 8

这是可行的解决方案,但我不确定它是否真的好主意:

<%@taglib prefix="spring" uri="http://www.springframework.org/tags"%>
...
<form:form method="post" commandName="authForm" action="authenticate">
  <spring:bind path="name">
    <div class="control-group <%= status.isError() ? "error" : "" %>"
      <label>Login</label>
      <form:input path="name" />
      <form:errors path="name" cssClass="help-inline" />
    </div>    
  </spring:bind>
  ...
</form:form>
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用JSTL的三元运算符而不是注入Java代码,例如:`$ {status.error?'错误':''}`. (7认同)