Я не могу найти причину, по которой obj.confirmPassword
всегда имеет значение null. Если confirmPassword
не является частью переходных процессов, все работает нормально.Grails: переменная переходных процессов недоступна в пользовательском валидаторе?
String confirmPassword
boolean enabled = true
boolean accountExpired
boolean accountLocked
boolean passwordExpired
static transients = ['springSecurityService', 'confirmPassword']
static constraints = {
username blank: false, unique: true, minSize: 4, maxSize: 64
password blank: false, nullable: false, minSize: 4, maxSize: 64, validator: {password, obj ->
def password2 = obj.confirmPassword
password2 == password ? true : ['invalid.matchingpasswords']
}
userFullname blank: false, minSize: 4, maxSize: 64
}
это один бросок NullPointer при экономии() называется:
String confirmPasswordField
static transients = ['springSecurityService', 'confirmPasswordField']
static constraints = {
confirmPasswordField bindable: true, nullable:true, blank: false
username blank: false, unique: true, minSize: 4, maxSize: 64
password blank: false, nullable: false, minSize: 4, maxSize: 64, validator: {password, obj ->
def confirmPassword = obj.confirmPasswordField
confirmPassword == password ? true : ['invalid.matchingpasswords']
}
userFullname blank: false, minSize: 4, maxSize: 64
}
Если я комментирую все вещи относительно confirmPasswordField - сохранить() будет отлично.