После прочтения вашего вопроса я понимаю, что вы требуете, чтобы имя и адрес электронной почты были предоставлены, при условии, что у вашего домена есть имя профиля, вы можете попробовать это:
class Profile {
String name
String email
static constraints = {
name blank: false
email nullable: false, blank: false, email: true
}
}
Затем можно проверить, возвращает ли метод сохранения значение NULL, указывая на наличие ошибки проверки и в результате экземпляр не сохраняется. Вы можете прочитать об этом здесь http://docs.grails.org/snapshot/ref/Domain%20Classes/save.html
Я пытаюсь это сделать, когда приложение запускается, здесь вы можете видеть, что свойства электронной почты в profile1 и profile2 не являются допустимыми значениями, поэтому не сохраняются, проверяется, является ли значение электронной почты причиной, и если да, пишется сообщение
package demo
class BootStrap {
def init = { servletContext ->
Profile profile1 = new Profile(name: 'john', email: '')
Profile profile2 = new Profile(name: 'peter', email: 'asdasd')
Profile profile3 = new Profile(name: 'ana', email: 'ana@example.com')
List<Profile> profiles = [profile1, profile2, profile3]
profiles.each { Profile profile ->
if (!profile.save()) {
if (profile.errors.hasFieldErrors('email')) {
println profile.errors.getFieldError('email').rejectedValue + ' is an invalid values'
}
}
}
}
def destroy = {
}
}
Здесь вывод
grails> rA
| Running application...
null is an invalid values
asdasd is an invalid values
Grails application running at http://localhost:8080 in environment: development
grails>