Было бы нетривиально использовать другие ограничения в рамках ограничения валидатора. Делегат закрытия ограничений - ConstrainedPropertyBuilder, который вы можете прочитать, чтобы понять сложность.
Но это не имеет значения, так как EmailConstraint использует Apache EmailValidator, который вы можете использовать в своем валидаторе. Вот EmailValidator в действии:
@Grab('commons-validator:commons-validator:1.4.1')
import org.apache.commons.validator.routines.EmailValidator
def emailValidator = EmailValidator.getInstance();
assert emailValidator.isValid('[email protected]')
assert !emailValidator.isValid('an_invalid_emai_address')
Вы можете использовать EmailValidator в собственных validator так:
import org.apache.commons.validator.routines.EmailValidator
class MyCommand {
String name
String data
static constraints = {
name blank: false, size: 3..64
data validator: {
if(it) {
EmailValidator
.getInstance()
.isValid(it)
} else { true }
}
}
}
Нет, это не возможно без обычной пользовательской проверки. –
Есть ли способ запускать «данные» через регулярную проверку подлинности грааля в пользовательской проверке? – Anonymous1