在表单提交后添加错误图标/使字段变为红色的最佳方法是什么? 以下方式在我看来并不那么实用:
<div class="form-group <g:hasErrors bean="${user}" field="username">has-feedback has-error</g:hasErrors>">
<label for="username" ><g:message code="page.signup.label.username"/> : </label>
<input type="username" class="form-control" id="username">
<g:hasErrors bean="${user}" field="username">
<i class="fa fa-times-circle-o form-control-feedback"></i>
</g:hasErrors>
</div>
以及如何在输入文本更改后使错误图标消失?如果我使用AJAX提交表单会更好吗? 谢谢 !
我知道该怎么做(显示错误),但我正在寻找最佳实践(如果仅使用grails,或使用jquery和angular或任何其他框架,则无关紧要)
答案 0 :(得分:1)
在Spring错误类org.springframework.validation.Errors
的帮助下,这很简单,因为它有许多实用方法,其中一个是getFieldError
。
假设您有域名:
class Address{
String address
String city
static constraints = {
city nullable false
address nullable false
}
}
假设我们有如下所示的域对象地址:
Address address = new Address(address:"test address")
在gsp页面中,我们可以设置如下所示的if条件:
<g:if test="${address.errors.getFieldError('city') != null}">
//your html code.
</g:if>
在html代码中,你可以输入内联消息,并且,为了将文本框轮廓更改为RED,你可以声明一个css类,如果出现错误,可以将其添加到字段中。
希望它有所帮助!