0
當試圖從使用共享約束的域類導入約束時,我收到以下exepction。期間結合相發生 異常驗證約束importFrom拋出異常
例外:
Property [somePackage.User.email] references shared constraint [email:null], which doesn't exist!
域:
class User {
String email
static constraints = {
email(shared: 'email', unique: true)
}
命令
class UpdateClientCommand {
String email
static constraints = {
importFrom User
}
}
堆棧跟蹤:
Property [clearhub.User.email] references shared constraint [email:null], which doesn't exist!. Stacktrace follows:
Caused by: org.grails.core.exceptions.GrailsConfigurationException: Property [mypackage.User.email] references shared constraint [email:null], which doesn't exist!
at org.grails.validation.DefaultConstraintEvaluator.applySharedConstraints(DefaultConstraintEvaluator.java:287)
at org.grails.validation.DefaultConstraintEvaluator.evaluateConstraintsMap(DefaultConstraintEvaluator.java:245)
at org.grails.validation.DefaultConstraintEvaluator.evaluateConstraints(DefaultConstraintEvaluator.java:132)
at org.grails.validation.DefaultConstraintEvaluator.evaluateConstraints(DefaultConstraintEvaluator.java:119)
at org.grails.validation.DefaultConstraintEvaluator.evaluate(DefaultConstraintEvaluator.java:80)
at org.grails.validation.ConstrainedPropertyBuilder.handleImportFrom(ConstrainedPropertyBuilder.java:173)
at org.grails.validation.ConstrainedPropertyBuilder.createNode(ConstrainedPropertyBuilder.java:165)
at groovy.util.BuilderSupport.doInvokeMethod(BuilderSupport.java:101)
at org.grails.validation.ConstrainedPropertyBuilder.doInvokeMethod(ConstrainedPropertyBuilder.java:72)
at groovy.util.BuilderSupport.invokeMethod(BuilderSupport.java:67)
at mypackage.UpdateClientCommand$__clinit__closure1.doCall(ClientController.groovy:47)
at org.grails.validation.DefaultConstraintEvaluator.evaluateConstraintsMap(DefaultConstraintEvaluator.java:240)
at org.grails.validation.DefaultConstraintEvaluator.evaluateConstraints(DefaultConstraintEvaluator.java:144)
at org.grails.validation.DefaultConstraintEvaluator.evaluate(DefaultConstraintEvaluator.java:92)
at grails.validation.Validateable$Trait$Helper.validate(Validateable.groovy:149)
at grails.validation.Validateable$Trait$Helper.validate(Validateable.groovy:82)
... 37 common frames omitted
任何想法?
一些調試它似乎像這樣的情況後,不支持。我使用共享約束來支持'importFrom' – rgrebski
如果還有其他字段,您仍然可以使用importFrom並排除導致問題的特定字段。 – Vahid