We usually have to Google to find the error code of the validation error message if you are new Grails developer. This blog gives the simplest way to get error code for validation error message.
Suppose we have a Domain class User
|
class User { String username String firstName String lastName String phoneNumber static constraints = { username(blank: false, unique: true) firstName(blank: false, unique: true) lastName(blank: false, unique: true) phoneNumber(nullable: false, blank: false, maxSize: 10, minSize: 10) } } |
|
This is my simple controller code to save user.
|
def save() { def userInstance = new User(params) if (!userInstance.save(flush: true)) { render(view: "create", model: [userInstance: userInstance]) return } flash.message = message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), userInstance.id]) redirect(action: "show", id: userInstance.id) } |
|
Now you have to add a line to get the error code for validation error
|
[code] log.error "==========="+userInstance.errors [/code] |
So the update save action is look like
|
def save() { def userInstance = new User(params) if (!userInstance.save(flush: true)) { <b>log.error "==========="+userInstance.errors</b> render(view: "create", model: [userInstance: userInstance]) return } flash.message = message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), userInstance.id]) redirect(action:"show", id: userInstance.id) } |
|
Now when you try to save the user with error, you found this output in console.

As figure shows, you have list of error code for each property and all are right. Use anyone.
If this blog is helpful for you please appreciate work by comment.
Thanks.
Recent Comments