| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import { formatString } from "@/core/utils/utils"
- export default function (key: string, arr?: Array<string | number>) {
- let rule = undefined
- if (arr) {
- let ruleFormat = rulesFormat[key]
- if (ruleFormat) {
- ruleFormat = formatString(ruleFormat, ...arr)
- //console.log("===>", ruleFormat)
- rule = JSON.parse(ruleFormat)
- }
- }
- //rulesFormat里没有找到再从rules找一下
- if (!rule) {
- rule = rules[key]
- }
- return rule
- }
- export const RULE_KEYS = {
- REQUIRED: "VB_REQUIRED",
- NUMBER: "VB_NUMBER",
- INT: "VB_INT",
- FLOAT: "VB_FLOAT",
- HEX: "VB_HEX",
- URL: "VB_URL",
- EMAIL: "VB_EMAIL",
- DATE: "VB_DATE",
- DATETIME: "VB_DATETIME",
- REQUIRED_NUMBER: "VB_REQUIRED_NUMBER",
- REQUIRED_INT: "VB_REQUIRED_INT",
- REQUIRED_FLOAT: "VB_REQUIRED_FLOAT",
- REQUIRED_HEX: "VB_REQUIRED_HEX",
- REQUIRED_URL: "VB_REQUIRED_URL",
- REQUIRED_EMAIL: "VB_REQUIRED_EMAIL",
- REQUIRED_DATE: "VB_REQUIRED_DATE",
- REQUIRED_DATETIME: "VB_REQUIRED_DATETIME",
- MIN: "VB_MIN",
- MAX: "VB_MAX",
- MIN_MAX: "VB_MIN_MAX",
- N_MIN: "VB_N_MIN",
- N_MAX: "VB_N_MAX",
- N_MIN_MAX: "VB_N_MIN_MAX",
- PATTERN: "VB_PATTERN",
- }
- export const rules = {
- VB_REQUIRED: { required: true, message: "必填", trigger: "blur" },
- VB_NUMBER: { type: "number", message: "请填写数字", trigger: ["blur"] },
- VB_INT: { type: "integer", message: "请填写整数", trigger: ["blur"] },
- VB_FLOAT: { type: "float", message: "请填写浮点数", trigger: ["blur"] },
- VB_HEX: { type: "hex", message: "请填写16进制数字", trigger: ["blur"] },
- VB_URL: { type: "url", message: "请填写正确的URL地址", trigger: ["blur"] },
- VB_EMAIL: { type: "email", message: "请填写正确的电子邮箱", trigger: ["blur"] },
- VB_DATE: { type: "date", message: "请选择日期", trigger: ["blur"] },
- VB_DATETIME: { type: "date", message: "请选择时间", trigger: ["blur"] },
- VB_REQUIRED_NUMBER: { type: "number", required: true, message: "请填写数字", trigger: ["blur"] },
- VB_REQUIRED_INT: { type: "integer", required: true, message: "请填写整数", trigger: ["blur"] },
- VB_REQUIRED_FLOAT: { type: "float", required: true, message: "请填写浮点数", trigger: ["blur"] },
- VB_REQUIRED_HEX: { type: "hex", required: true, message: "请填写16进制数字", trigger: ["blur"] },
- VB_REQUIRED_URL: [
- { type: "string", required: true, message: "请填写URL地址", trigger: "blur" },
- { type: "url", message: "请填写正确的URL地址", trigger: ["blur"] },
- ],
- VB_REQUIRED_EMAIL: [
- { type: "string", required: true, message: "请填写电子邮箱", trigger: "blur" },
- { type: "email", message: "请填写正确的电子邮箱", trigger: ["blur"] },
- ],
- VB_REQUIRED_DATE: { type: "date", required: true, message: "请选择日期", trigger: ["blur"] },
- VB_REQUIRED_DATETIME: { type: "date", required: true, message: "请选择时间", trigger: ["blur"] },
- }
- export const rulesFormat = {
- VB_REQUIRED: '{ "required": true, "message": "请填写{0}", "trigger": ["blur"] }',
- VB_MIN: '{"type": "string","min": {0}, "message": "至少{0}个字符", "trigger": ["blur"] }',
- VB_MAX: '{"type": "string","max": {0}, "message": "最多{0}个字符", "trigger": ["blur" ]}',
- VB_MIN_MAX: '{"type": "string","min": {0}, "max": {1}, "message": "长度在 {0} 到 {1} 个字符", "trigger": ["blur"]}',
- VB_N_MIN: '{"type": "number","min": {0}, "message": "最小{0}", "trigger": ["blur"] }',
- VB_N_MAX: '{"type": "number","max": {0}, "message": "最大{0}", "trigger": ["blur" ]}',
- VB_N_MIN_MAX: '{"type": "number","min": {0}, "max": {1}, "message": "请填写 {0} 到 {1} 的数字", "trigger": ["blur"]}',
- VB_PATTERN: '{"pattern": {0}, "message": "{1}", "trigger": ["blur"]}',
- }
|