mirror of
https://github.com/certd/certd.git
synced 2026-04-23 11:37:23 +08:00
feat: 域名验证方法支持CNAME间接方式,此方式支持所有域名注册商,且无需提供Access授权,但是需要手动添加cname解析
This commit is contained in:
@@ -1,19 +1,20 @@
|
||||
import Validator from "async-validator";
|
||||
// 自定义验证器函数
|
||||
function isDomain(rule, value, callback) {
|
||||
function isDomain(rule, value) {
|
||||
if (value == null) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
let domains: string[] = value;
|
||||
if (typeof value === "string") {
|
||||
domains = value.split(",");
|
||||
}
|
||||
for (const domain of domains) {
|
||||
//域名可以是泛域名,中文域名,数字域名,英文域名,域名中可以包含-和.
|
||||
if (!/^(?:[0-9a-zA-Z\u4e00-\u9fa5-]+\.)+[0-9a-zA-Z\u4e00-\u9fa5-]+$/.test(domain)) {
|
||||
callback(new Error(`域名有误:${domain},请输入正确的域名`));
|
||||
//域名可以是泛域名,中文域名,数字域名,英文域名,域名中可以包含-和. ,可以_开头
|
||||
if (!/^(?:\*\.|[0-9a-zA-Z\u4e00-\u9fa5-]+\.)+[0-9a-zA-Z\u4e00-\u9fa5-]+$/.test(domain)) {
|
||||
throw new Error(`域名有误:${domain},请输入正确的域名`);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// 注册自定义验证器
|
||||
Validator.register("domains", isDomain);
|
||||
|
||||
Reference in New Issue
Block a user