2016-09-14 170 views
0

在我的Grails應用程序3.1.11我有一個域類自定義驗證失敗

class Ability { 

    String valueTypeName 

    static constraints = { 
    valueTypeName validator:{ val, obj, errors -> 
     println val 
     errors.rejectValue 'valueTypeName', 'err' 
     return 'default.invalid.validator.message' 
    } 
    } 
} 

和腳手架控制器&觀點:

class AbilityController { 
    static scaffold = Ability 
} 

保存時/更新,我可以看到的println輸出控制檯,但該對象從未被拒絕......我試圖返回false,但它仍然是一樣的。 明確拒絕該值有助於通過插入。

我缺少什麼?

+0

你爲什麼要調用'rejectValue'? –

+0

我想確保沒有任何工作。 – injecteer

回答

1

這是腳手架中的一個錯誤。請參閱https://github.com/grails3-plugins/scaffolding/issues/24

請注意,驗證不會失敗。驗證工作。更新確實沒有發送到數據庫。問題是腳手架顯示一個觀點,表明更新已經完成,但事實並非如此。

+0

所以,你的意思是,如果我做'grails generate-all Ability',它應該沒問題? – injecteer

+0

我相信這是正確的。我不認爲生成的控制器具有與動態控制器相同的錯誤。 –