有没有办法将任意元素的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>
在这段代码中,我需要在没有错误的情况下将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>
})。
这里有什么常见的解决方案?
更新
这是我没有绑定错误时所需要的:
<div class="control-group error"> <!-- !!!!!!!!!!!! -->
<label>Login</label>
<form:input path="name" />
<span class="help-inline"><form:errors path="name" /></span>
</div>
这是绑定错误时我需要的:
{{1}}
寻找解决方案。
答案 0 :(得分: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>
答案 1 :(得分:2)
我有同样的问题,我用jQuery解决了它。
<div class="control-group">
<form:label path="groupCode" cssClass="control-label"><spring:message code="lookUp.groupCode"/></form:label>
<div class="controls">
<form:input path="groupCode"/>
<form:errors path="groupCode">
<form:errors path="groupCode" cssClass="help-inline"/>
<script type="text/javascript">
$("#groupCode").parent().parent().addClass("error");
</script>
</form:errors>
</div>
</div>
答案 2 :(得分:0)
我无法在此找到合适的(常见的)解决方案。但是你可以使用JavaScript并尝试查找是否在id为“name”的视图中呈现了一个跨度,并且根据这个条件你可以实现你想要的。
因为当指定的 没有绑定错误时,它不会生成相同的span标记。如果“name”出现错误,那么它将生成带有其id的相应span标记。
希望这对你有所帮助。 Cheeers。