2013-01-10 57 views
0

我有以下域類:「grails.validation.ValidationErrors:0錯誤」,同時節省域類

class StudentQuiz { 
     Date dateCreated 
     Date lastUpdated 
     Quiz quiz 
     float price 
     Student student 
     Date startTime 
     Date endTime 
     int score 
     List answers 
     static hasMany = [answers:Answer] 
     static constraints = { 
     answers nullable:true 
     } 

} 

但是,當我使用下面的代碼保存這個類的一個實例:

與錯誤有其他解釋

grails.validation.ValidationErrors: 0 errors 

studentInstance = (Student)User.findByEmailAndPassword(params.email, params.password.toString().encodeAsPassword()) 
if (studentInstance) { 
    StudentQuiz studentQuizInstance = new StudentQuiz(score:0, quiz:quizInstance,price:quizInstance.price,student:studentInstance,startTime:new Date()) 
    if (!studentQuizInstance.save(flush:true)) {      
     studentInstance.errors.each { 
      println "===="+it+"-------" 
     } 
} 

我正在此。任何幫助將非常感激。

回答

0

您正在檢查錯誤的實例。它應該是如下:

if (!studentQuizInstance.save(flush:true)) {      
    studentQuizInstance.errors.each { 
    println "===="+it+"-------" 
} 
+0

問題是,爲什麼studentQuizInstance是不節能的,我已經在給定的代碼 – Sap

+0

你沒有得到錯誤信息打印爲它的錯誤,因爲在你的代碼域類被從不進行驗證。你有沒有嘗試在save()之前使用hasError方法?也許你的參數列表不符合你的doman類約束。 – hitty5

+0

不會!studentQuizInstance.save(flush:true)條件做同樣的事情嗎?和studentInstance.errors.each {println「====」+ it +「-------」 }會打印錯誤嗎? – Sap