72 lines
1.6 KiB
JavaScript
72 lines
1.6 KiB
JavaScript
|
|
function getChangeRule (message = '', type) {
|
|
let rule = {
|
|
required: true,
|
|
message: `请选择${message}`,
|
|
trigger: 'change'
|
|
}
|
|
if (type) {
|
|
rule.type = type
|
|
}
|
|
return rule
|
|
}
|
|
export function getTextRule (message = '内容') {
|
|
return {
|
|
required: true,
|
|
message: `请输入${message}`,
|
|
trigger: 'blur'
|
|
}
|
|
}
|
|
export function getNumberRule (message = '数字') {
|
|
return {
|
|
required: true,
|
|
type: 'number',
|
|
message: `请输入${message}`,
|
|
trigger: 'blur'
|
|
}
|
|
}
|
|
export function getChooseRule (message = '选项') {
|
|
return getChangeRule(message, 'number')
|
|
}
|
|
export function getDateRule (message = '时间') {
|
|
return getChangeRule(message, 'date')
|
|
}
|
|
export function getOptionRule (message = '') {
|
|
return getChangeRule(message)
|
|
}
|
|
export function getArrayOptionRule (message = '') {
|
|
return getChangeRule(message, 'array')
|
|
}
|
|
export function getObjectRule (message = '', trigger = 'change') {
|
|
return {
|
|
validator: (rule, value, callback) => {
|
|
if (value && JSON.stringify(value) === '{}') {
|
|
callback(new Error(`请选择${message}`))
|
|
} else {
|
|
callback()
|
|
}
|
|
},
|
|
required: true,
|
|
trigger
|
|
}
|
|
}
|
|
|
|
// 为兼容旧系统,不建议使用 Begin
|
|
export let textRule = getTextRule()
|
|
export let numberRule = getNumberRule()
|
|
export let chooseRule = getChooseRule()
|
|
export let dateRule = getChangeRule('时间', 'date')
|
|
export let optionRule = getChangeRule()
|
|
export let arrayOptionRule = getChangeRule('', 'array')
|
|
// 为兼容旧系统,不建议使用 End
|
|
|
|
export let rule = {
|
|
arrayOptionRule,
|
|
getTextRule,
|
|
getNumberRule,
|
|
getChooseRule,
|
|
getDateRule,
|
|
getOptionRule,
|
|
getArrayOptionRule
|
|
}
|