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();
                       }
                   }
               }
           };
上一篇下一篇

猜你喜欢

热点阅读