表单验证(要求输入框内只能输入最大长度为8的数字值或者小数点之后只能有两位的数字值)
<script>
export default{
data(){
const proPrice = (rule, value, callback) => {
let reg =
/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;
if (!value) {
callback(new Error("单价不能为空"));
} else if (!Number(value)) {
callback(new Error("请输入数字值"));
} else if (value.length > 8) {
callback(new Error("最多可输入8个字符"));
} else if (!reg.test(value)) {
callback(new Error("小数点后最多只能输入两位"));
} else {
callback();
}
};
return{
rules:{
proPrice: [
{ required: true, validator: proPrice, trigger: "blur" },
],
}
}
}
}
</script>