gpt4 book ai didi

Grails 验证错误从服务到 Controller 消失

转载 作者:行者123 更新时间:2023-12-02 13:55:38 24 4
gpt4 key购买 nike

当我在服务方法中执行自定义 rejectValue 时,grails 会丢失服务方法和返回 Controller 之间的错误。这似乎在更新行实例时发生,但在创建行实例时不会发生。

在役

def specialValidation(petInstance){
if(petInstance.petType.requiresStateId && !petInstance.StateId){
petInstance.errors.rejectValue('StateId','StateId required');
}
println petInstance.errors //shows 1 error
return petInstance;

}

在 Controller 中

...
petInstance.properties=params;
petInstance=petService.specialValidation(petInstance);
println petInstance.errors //shows 0 errors

当实例从服务转手到 Controller 时,错误是如何丢失的?

最佳答案

这可能是因为交易服务。服务为每个方法打开单独的事务并在方法结束后清除实体。您可以在 docs 中找到它(阅读部分的最后一段)

我遇到了同样的问题。我在验证方法中添加了 NotTransactional 注释,这很有帮助。错误已保存。

关于Grails 验证错误从服务到 Controller 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32767450/

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