mirror of https://github.com/certd/certd
perf: 域名输入增加校验提示,避免输入错误的域名
parent
67adddd23e
commit
0c8e83e125
|
@ -19,6 +19,7 @@ export abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
|
|||
open: false,
|
||||
tokenSeparators: [",", " ", ",", "、", "|"],
|
||||
},
|
||||
rules: [{ type: "domains" }],
|
||||
required: true,
|
||||
col: {
|
||||
span: 24,
|
||||
|
@ -28,7 +29,7 @@ export abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
|
|||
"1、支持通配符域名,例如: *.foo.com、foo.com、*.test.handsfree.work\n" +
|
||||
"2、支持多个域名、多个子域名、多个通配符域名打到一个证书上(域名必须是在同一个DNS提供商解析)\n" +
|
||||
"3、多级子域名要分成多个域名输入(*.foo.com的证书不能用于xxx.yyy.foo.com、foo.com)\n" +
|
||||
"4、输入一个空格之后,再输入下一个",
|
||||
"4、输入一个,空格之后,再输入下一个",
|
||||
})
|
||||
domains!: string[];
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ import "./iconfont";
|
|||
import FastCrud from "./fast-crud";
|
||||
import permission from "./permission";
|
||||
import { App } from "vue";
|
||||
import "./validator/index.js";
|
||||
function install(app: App, options: any = {}) {
|
||||
app.use(FastCrud, options);
|
||||
app.use(permission);
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import Validator from "async-validator";
|
||||
// 自定义验证器函数
|
||||
function isDomain(rule, value, callback) {
|
||||
if (value == null) {
|
||||
return;
|
||||
}
|
||||
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},请输入正确的域名`));
|
||||
}
|
||||
}
|
||||
}
|
||||
// 注册自定义验证器
|
||||
Validator.register("domains", isDomain);
|
Loading…
Reference in New Issue