abbott-methods
Version:
abbott,methods,method,functions,function
30 lines (28 loc) • 1.01 kB
text/typescript
import { formatPrice } from '../format/formatPrice'
import { typeEmpty } from '../type/typeEmpty'
/**
* @desc 验证是否价格格式
* @param {*} rule
* @param {String} validateValue
* @param {*} callback
* @param {String} field
* @param {String} [action]
* @param {Number} [min]
* @param {Number} [max]
*/
export const validatePrice = (rule: any, validateValue: string, callback: any, field = '价格', action = '填写', min: number, max: number) => {
if (typeEmpty(validateValue)) {
action = action || '填写'
callback(new Error(`${field}必须${action}`))
} else {
if (formatPrice(validateValue)) {
if (min && max && (validateValue.length < ~~Math.abs(min) || validateValue.length > ~~Math.abs(max))) {
callback(new Error(`${field}在${~~Math.abs(min)}-${~~Math.abs(max)}个字符之间`))
} else {
callback()
}
} else {
callback(new Error(`${field}只能是数字(最多2位小数)`))
}
}
}