5

我正在使用Grails Webflow插件。以下是我正在使用的域对象:

class Foo implements Serializable {
    String fooProp1,
           fooProp2

    static constraints = {
        fooProp2 nullable: false
    }
}

class Bar implements Serializable {
    Foo fooObject

    static constraints = {
        fooObject nullable: false
    }
}

在 webflow 中,我需要确保 fooObject.fooProp1 不为空。如果是,我想抛出一个错误并强制用户为其提供一个值。我尝试使用 validate() 来执行此操作(在 Bar 和 Foo 对象上),但是由于 fooProp1 具有 nullable:true 属性,因此它通过了验证。有任何想法吗?

4

1 回答 1

10

您可以通过调整以下代码在 Web Flow 中执行此操作:

if(fooObject.fooProp1 == null) {
    fooObject.errors.rejectValue('fooProp1', 'nullable')
}

该方法的第二个参数'nullable', 可能因您的情况而异。您只需将其设置为消息代码(来自 message.properties)即可显示所需的错误消息。

这里查看更多使用reject()rejectValue().

于 2010-10-26T14:55:30.183 回答