Grails:验证包含分隔的电子邮件地址列表的字符串

Jas*_*son 4 email validation grails command

我有一个包含emailAddresses字段的Grails命令对象,

例如

public class MyCommand {

    // Other fields skipped
    String emailAddresses

    static constraints = {
        // Skipped constraints
    }


}
Run Code Online (Sandbox Code Playgroud)

用户需要在表单中输入以分号分隔的电子邮件地址列表.使用Grails的验证框架,验证字符串是否包含格式良好的分隔电子邮件地址列表的最简单方法是什么?有什么方法可以重用现有的电子邮件地址验证约束吗?

谢谢

Bur*_*ith 11

您可以使用电子邮件约束使用的内容:

import org.apache.commons.validator.EmailValidator
...

static constraints = {
    emailAddresses validator: { value, obj, errors ->
        def emailValidator = EmailValidator.getInstance()
        for (email in value.split(';')) {
            if (!emailValidator.isValid(email)) {
                // call errors.rejectValue(), or return false, or return an error code 
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)