1
getFieldError("user_name").rejectedValue
如果我有一個字段作爲上述地方我給自己定的約束如下:的Grails:如何檢查字段值的有效性專門
user_name(blank: false, unique: true, email: true)
我怎麼能在各種情況下以檢查是否有違規行爲明確在每種情況下自定義錯誤消息?目前,我有以下的,但是,只有當我嘗試用空字段提交表單工作在第一種情況:
def errorVal = createdUser.errors.getFieldError("user_name").rejectedValue
if (errorVal == null)
render(contentType: 'text/json') {["message": 'Username cannot be blank!']}
else if (errorVal == invalid)
render(contentType: 'text/json') {["message": 'Username must be an e-mail address!']}
else if (errorVal == unique)
render(contentType: 'text/json') {["message": 'Username already exists for picked institution!']}
如果我嘗試把東西這是一種非現場測試第二種情況-email地址,我在控制檯收到此錯誤:
No such property: invalid for class: com.twc.fatcaone.AdminController
爲什麼採取這種方法?爲什麼不按框架的意圖使用框架來定製屬性文件中的錯誤消息?您可能需要重新閱讀以下內容:http://grails.org/doc/2.3.7/guide/single.html#validation,並瞭解如何設置自己的消息,特定於您的域/已驗證的類。然後,就像將錯誤消息收集到JSON結果一樣簡單。無需在代碼中進行自定義。 –