Ben grants 2.2.1 kullanıyorum ve iç içe bir komut yapısını doğrulamaya çalışıyorum. İşte benim komut nesnelerin basitleştirilmiş bir versiyonudur: grails iç içe yerleştirilmiş komut nesnesini doğrulamıyor
@Validateable
class SurveyCommand {
SectionCommand useful
SectionCommand recommend
SurveyCommand() {
useful = new SectionCommand(
question: 'Did you find this useful?',
isRequired: true)
recommend = new SectionCommand(
question: 'Would you recommend to someone else?',
isRequired: false)
}
}
@Validateable
class SectionCommand {
String question
String answer
boolean isRequired
static constraints = {
answer(validator: answerNotBlank, nullable: true)
}
static answerNotBlank = { String val, SectionCommand obj ->
if(obj.isRequired) {
return val != null && !val.isEmpty()
}
}
}
ben hep true
bölüm değerler ve SectionCommand
(answerNotBlank
) benim özel doğrulayıcı asla denir olursa olsun döner SurveyCommand
bir örneğini doğrulamaya çalışır
deepValidate
varsayılan değeri true) gibi görünüyor. Ancak, belki bu kural sadece Komut nesneleri değil, alan adı nesneleri için de geçerlidir. Yoksa burada bir şey mi özledim? Eğer o zaman
Config.groovy
yılında
command
nesneleri kayıt etmelidir
mockForConstraintsTest()
kullanılarak
validation
unit
den testleri sınıyor yerine çünkü içinde
@Validateable
kullanıyorsanız
nice! harika çalışıyor, ancak her alt özellik için bir kısıtlama açıkça tanımlamak yerine daha fazla KURU bir yol var mı? –