gpt4 book ai didi

validation - 升级后 Grails 验证不起作用

转载 作者:行者123 更新时间:2023-12-04 20:51:04 24 4
gpt4 key购买 nike

我正在将我的 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()
}
}

在 User.groovy 中:
static constraints = {
username(blank: false, unique: true);
...
}

有任何想法吗?

编辑:我也从 Acegi 升级到 Spring Security 插件。我认为这无关紧要,但我想我会提到它。

我在: https://github.com/skazzaks/Grails-Unique-Test 上放了一个有问题的样本。这使它看起来绝对像一个错误。

最佳答案

几天前,我在从 1.3.7 升级到 2.0.3 时遇到了类似的奇怪验证问题。

对我来说诀窍是手动清除我的目标目录。显然,重新编译所有类使应用程序重回正轨。

不知道它是否适用于您的情况,但可能值得一试。

关于validation - 升级后 Grails 验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10652708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com