element 验证不能是汉字也不能超过2位数
2020-08-17 本文已影响0人
流泪手心_521
<el-form-item label="重复" prop="repeatType" class="item-form-3">
<el-select v-model="remindForm.repeatType" @change="getRepeatTime">
<el-option v-for="(item,index) in repeatList"
:key="item.dictName + index"
:label="item.dictName"
:value="item.label">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="重复" prop="repeatTimes" class="item-form-4 mr-80" v-if="repeatTypeInput==1">
<el-input style="width:90%" maxlength="2" type="repeatTimes" v-model.number="remindForm.repeatTimes" ></el-input> 天
</el-form-item>
<el-form-item label="重复" prop="repeatTimes" class="item-form-4 mr-80"
v-if="repeatTypeInput==2">
<el-input style="width:90%" maxlength="2" type="repeatTimes" v-model.number="remindForm.repeatTimes" ></el-input> 周
</el-form-item>
<el-form-item label="重复" prop="repeatTimes" class="item-form-4 mr-80"
v-if="repeatTypeInput==3">
<el-input style="width:90%" maxlength="2" type="repeatTimes" v-model.number="remindForm.repeatTimes" ></el-input> 月
</el-form-item>
<el-form-item label="重复" prop="repeatTimes" class="item-form-4 mr-80"
v-if="repeatTypeInput==4">
<el-input style="width:90%" maxlength="2" type="repeatTimes" v-model.number="remindForm.repeatTimes" ></el-input> 年
</el-form-item>
</div>
image.png
image.png
image.png
rules: {
repeatTimes: [{validator: repeatTimes, trigger: 'blur'}],
},
data() {
//重复
let repeatTimes = (rule, value, callback) => {
console.log(this.repeatTypeInput);
//天
if(this.repeatTypeInput==1){
if (!Number.isInteger(value)) {
callback(new Error('请输入天数'));
}else {
callback();
}
}
//周
if(this.repeatTypeInput==2){
if (!Number.isInteger(value)) {
callback(new Error('请输入周数'));
}else {
callback();
}
}
//月
if(this.repeatTypeInput==3){
if (!Number.isInteger(value)) {
callback(new Error('请输入月份'));
} else {
if (value>36) {
return callback(new Error('月份不能超过36个月'));
} else {
callback();
}
}
}
//年
if(this.repeatTypeInput==4){
if (!Number.isInteger(value)) {
callback(new Error('请输入年份'));
} else {
if (value>10) {
return callback(new Error('年份不能超过10年'));
} else {
callback();
}
}
}
};