从控制器设置字段错误消息

时间:2014-07-14 16:44:59

标签: grails gsp

如果字段中出现错误消息,则错误消息将显示在GSP中,如下所示。但我的做法有点不同。我想从控制器设置错误消息的值。代码如下。我怎么能这样做?

查看

<g:hasErrors bean="${personInstance}">
                        <ul class="errors" role="alert">
                            <g:eachError bean="${personInstance}" var="error">
                                <li
                                    <g:if test="${error in org.springframework.validation.FieldError}">data-field-id="${error.field}"</g:if>><g:message
                                        error="${error}" /></li>
                            </g:eachError>
                        </ul>
                    </g:hasErrors>

CONTROLLER

def model = [:]
        model['personInstance'] = personInstance
        if (!personInstance.save(flush: true)) {


            model['mess'] = IF THERE'S AN ERROR IN THE FIELD I WANT TO SET THAT ERROR MESSAGE HERE...

我该怎么做?

1 个答案:

答案 0 :(得分:2)

它并不是很清楚您想要做什么,但是例如,如果您想要检索所有错误消息并将它们附加到由<br/>标记分隔的1个长字符串,您可以执行类似这样的操作在控制器......

def allErrorsInOneString = personInstance.errors.allErrors.collect {
    g.message(error: it)
}.join('<br/>')

这是你要找的东西吗?