<el-form ref="add" :rules="rules" :model="add" label-width="110px" > <el-form-item label="價格:" v-if="add.serviceType!=3" prop="amount"> <input type="text" style="width: 50%" autocomplete="off" placeholder="請輸入" v-model="add.amount" class="el-input__inner m_r_20">元 </el-form-item> </el-form>
rules: { amount: [ {required: true, message: "請輸入", trigger: "blur,change"}, { min: 1, max: 6, message: '長度在 1 到 6 個字符', trigger: 'blur,change' }, { validator: twoPoint, message: '最多包含兩位小數的正數且不能為以0開頭的正整數', trigger: 'blur' } ], }, const twoPoint = (rule, value, callback) => { if(/^\d+\.?\d{0,2}$/.test(value)){ if(value.indexOf('.')=='-1'&&value.length>1&&value.slice(0,1)=='0'){ callback(new Error("最多包含兩位小數的正數且不能為以0開頭的正整數")); } }else{ callback(new Error("最多包含兩位小數的正數且不能為以0開頭的正整數")); } // if (/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/.test(value)) { // callback() // } else { // callback(new Error('最多包含兩位小數的正數')) // } }