2017-02-27 89 views
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 

任何想法?

+0

一些調試它似乎像這樣的情況後,不支持。我使用共享約束來支持'importFrom' – rgrebski

+0

如果還有其他字段,您仍然可以使用importFrom並排除導致問題的特定字段。 – Vahid

回答