quality_frontend/packages/common/javascript/text.js

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
}