当我扩展一个通用命令以重用它的自定义验证器时,我遇到了 Grails 中的命令问题。
当我清理 grails 项目时,它会丢失对扩展自定义验证器的引用。我需要在项目运行时在 CommandA 中导致语法错误并撤消该错误,以便它编译回命令。
文件:/src/groovy/app/commands/ImageCommand.groovy
class ImageCommand {
static imageValidator = { value, command ->
... DO SOMETHING ...
}
}
文件:/src/groovy/app/commands/CommandA.groovy
class CommandA extends ImageCommand {
def file
static constraints = {
file nullable: true, blank: true, validator: imageValidator
}
}
为了导致错误,我只是删除了 CommandA 的一部分:
class CommandA extends ImageCommand {
def file
static constraints = {
file nullable: true, blank:
}
}
并撤消它以强制重新编译:
class CommandA extends ImageCommand {
def file
static constraints = {
file nullable: true, blank: true, validator: imageValidator
}
}
我该怎么办?我无法将我的 CommandA 移动到 Controller 文件,因为我在很多地方都使用它。
*使用 Grails 2.2.2