Как мне подделать ошибку проверки? - PullRequest
5 голосов
/ 26 октября 2010

Я использую плагин 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
    }
}

В какой-то момент в веб-потоке мне нужно убедиться, что fooObject.fooProp1 не равен нулю. Если это так, я хочу выдать ошибку и заставить пользователя указать значение. Я попытался использовать validate () для этого (как для объектов Bar, так и для Foo), но поскольку fooProp1 имеет свойство nullable: true, оно проходит проверку. Есть идеи?

1 Ответ

10 голосов
/ 26 октября 2010

Вы, вероятно, можете сделать это в веб-потоке, адаптировав следующий код:

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

Второй аргумент этого метода, 'nullable', может отличаться для вашей ситуации. Вам просто нужно установить для него код сообщения (из message.properties), чтобы отобразить нужное сообщение об ошибке.

Посмотрите здесь , чтобы узнать больше способов использования reject() и rejectValue().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...