Vue+Element给表单设置多个验证+规则Rules自定义

注意:

1、<el-form >的:rules="Rules" 这个Rules名字需要对应

2、<el-form-item>的prop="quantity"这个prop名字需要对应好

html 复制代码
<el-dialog :title="title" v-dialogDrag :visible.sync="BoundOpen">
<el-form ref="Form" :model="Form" :rules="Rules" label-width="80px">
  <el-form-item label="数量" prop="quantity">
    <el-input v-model="quantity" placeholder="请输入数量"/>
  </el-form-item>

</el-form>
<div slot="footer" class="dialog-footer">
  <el-button type="primary" @click="Bound">确 定</el-button>
  <el-button @click="cancelBound">取 消</el-button>
</div>
</el-dialog>

方法一:

javascript 复制代码
Rules: {
  quantity: [
    {required: true, message: "添加数量不能为空", trigger: "blur"},
    {digits: true, message: "必须输入整数", trigger: "blur"},
    {range: [1, 100], message: "输入数量超出范围", trigger: "blur"},
  ],
    }

方法二:

javascript 复制代码
Rules: {
  quantity: [
    {validator: checkQuantity, trigger: 'blur'}
  ],
},
javascript 复制代码
data() {
  const checkQuantity = (rule, value, callback) => {
    if (this.buttonFlag == 'unbind' || this.buttonFlag == 'editNormal') {
      if (value == null || value == '') {
        callback(new Error('请输入数量'));
      } else if (!/^\d+(\.\d+)?$/.test(value)) {
        callback(new Error('请输入合法的数字'));
      }else if (value == 0) {
        callback(new Error('数量不能为0'));
      } else {
        callback();
      }
    } else {
      callback();
    }
  }
}

可以结合正则表达式使用~

相关推荐
蜡台10 分钟前
JavaScript async和awiat 使用
开发语言·前端·javascript·async·await
tzy23312 分钟前
AI 对话的流式输出详解——不止于SSE
javascript·ai·llm·sse·readablestream
挖稀泥的工人14 分钟前
能够插入 DOM 的输入框
前端·javascript·vue.js
没有故事、有酒21 分钟前
Vue2中el-table修改表头高度和行高
javascript·vue.js·elementui
把csdn当日记本的菜鸡23 分钟前
Vue3 响应式 API 简单学习
javascript·vue.js·学习
小李子呢021126 分钟前
前端八股5---组件通信
前端·javascript·vue.js
vmiao29 分钟前
【JS进阶】模拟正确处理并渲染后台数据
前端·javascript
Wect30 分钟前
JS手撕:函数进阶 & 设计模式解析
前端·javascript·面试
kyriewen1143 分钟前
每日知识点:this 指向之谜——是谁在 call 我?
前端·javascript·vue.js·前端框架·ecmascript·jquery·html5
浩星44 分钟前
electron系列6之性能优化:从启动慢到内存泄漏
前端·javascript·electron