升级后Grails验证无效

ska*_*kaz 5 validation grails constraints grails-orm

我正在将Grails 1.3.7应用程序升级到2.0.3,我已经解决了大多数问题.但是,我有一些用于创建用户并将其保存到数据库的代码.代码不应该通过验证,因为我正在重用已经使用的用户名并且对用户名有唯一约束..validate()返回true,但是当user.save()使用MySql唯一约束错误调用时,代码实际上是炸弹.

应该抛出一个错误:

def submitSignup = {
        def user = new User(params)

        user.validate()
        if (!user.hasErrors()) {
            ...
            // This line bombs with the MySql unique constraint I would have expected .validate() to get
            user.save()
        }
}
Run Code Online (Sandbox Code Playgroud)

在User.groovy中:

static constraints = {
    username(blank: false, unique: true);
    ...
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:我也升级到Acegi的Spring Security插件.我不认为这是相关的,但我想我会提到它.

我提出了一个问题的样本:https://github.com/skazzaks/Grails-Unique-Test 这使它看起来像一个bug.

ska*_*kaz 0

我相信这是一个错误,因为我的域类位于src/groovy.