如何在grails中添加bootstrap的反馈/错误?

时间:2016-07-24 16:05:41

标签: grails

在表单提交后添加错误图标/使字段变为红色的最佳方法是什么? 以下方式在我看来并不那么实用:

<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或任何其他框架,则无关紧要)

1 个答案:

答案 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类,如果出现错误,可以将其添加到字段中。

希望它有所帮助!