所以我正在使用 Commons UrlValidator (org.apache.commons.validator.routines.UrlValidator),我想知道是否有一种方法可以自定义它允许的域。现在它似乎只允许顶级域名,但我希望有一两个有效的域名不在该列表中,例如“.corp”(列表可在此处找到: http://data.iana.org/TLD/tlds-alpha-by-domain.txt )。是否有一种设置或解决方法,以便我不必创建自己的 url validator ,而只需将其与添加的域一起使用?
最佳答案
您可以在下面找到 JUnit 测试用例。
import org.apache.commons.validator.routines.DomainValidator;
import org.apache.commons.validator.routines.UrlValidator;
class UrlValidatorTestCase extends TestCase {
private static final String[] GENERIC_TLDS_PLUS = new String[] { "corp" };
static {
DomainValidator.updateTLDOverride(DomainValidator.ArrayType.GENERIC_PLUS, GENERIC_TLDS_PLUS);
}
public void test_UrlValidator_isValid_corp_tld() {
assertTrue(UrlValidator.getInstance().isValid("http://domainlabel.corp"));
}
}
使用 commons-validator 1.6 进行测试
关于java - 将域添加到 apache.commons 中的 UrlValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757298/