vue动态表单+验证

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
  <el-form ref="form" :model="form" :rules="rules" label-width="300px">
    <el-row>
      <el-col width="12" v-for="(arr, index) in this.dataFrom" :key="arr.key">
        <el-form-item :label="arr.title" class="form-item-s" :prop="arr.key">
          <el-input
            class="form-item-s"
            autocomplete="off"
            type="text"
            :key="arr.key"
            v-model="form[arr.key]"
          />
        </el-form-item>
      </el-col>
    </el-row>
  </el-form>
  <div slot="footer" class="dialog-footer">
    <el-button type="primary" @click="submitForm">确 定</el-button>
    <el-button @click="cancel">取 消</el-button>
  </div>
</el-dialog>

功能快捷键

 data() {

```python
    return {
    
      // 表单参数
      form: {},
      dataFrom:[],
      // 表单校验
      rules: {

      }
    };
  },

## 如何创建一个注脚

 

```python


handleAdd() {
      this.dataFrom=[];
      this.form= {};
      let fontStr = [
          {
            "filedId"   : "1",
            "fieldName" : "是否优秀",
            "fieldCode" : "sfyx",
            "fieldType" : "1"
          },
          {
            "filedId"   : "2",
            "fieldName" : "供应商信息",
            "fieldCode" : "gysxx",
            "fieldType" : "1"
          },
          {
            "filedId"   : "3",
            "fieldName" : "供应商电话",
            "fieldCode" : "gysdh",
            "fieldType" : "1"
          }
      ];
      fontStr.forEach(err=>{
        let dataObject={
          key:err.fieldCode,
          title:err.fieldName,
          value:''
        }
        this.$set(this.form, err.fieldCode, '')
        let rulesList=[{ required: true, message: err.fieldName+"不能为空", trigger: "blur" }]
        this.$set(this.rules, err.fieldCode, rulesList)
        this.dataFrom.push(dataObject);
      })
      console.log(JSON.stringify(this.form));
      console.log(this.dataFrom);
      console.log(JSON.stringify(this.rules));
      // this.reset();
      this.open = true;
      this.title = "新增参数";
      // this.title = "添加参数";
    },


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue动态表单验证可以通过使用Vue的指令和计算属性来实现。以下是一个简单的示例: 1. 首先,我们需要定义一个包含表单字段的数据对象,并设置验证规则: ``` data() { return { formData: { name: '', email: '', password: '', confirmPassword: '' }, rules: { name: [ { required: true, message: '请输入姓名', trigger: 'blur' } ], email: [ { required: true, message: '请输入邮箱', trigger: 'blur' }, { type: 'email', message: '请输入正确的邮箱格式', trigger: ['blur', 'change'] } ], password: [ { required: true, message: '请输入密码', trigger: 'blur' }, { min: 6, message: '密码长度不能小于6位', trigger: 'blur' } ], confirmPassword: [ { required: true, message: '请再次输入密码', trigger: 'blur' }, { validator: this.validateConfirmPassword, trigger: 'blur' } ] } } }, ``` 2. 接下来,我们需要在模板中使用Vue指令来绑定表单字段和验证规则: ``` <el-form ref="form" :model="formData" :rules="rules"> <el-form-item label="姓名" prop="name"> <el-input v-model="formData.name"></el-input> </el-form-item> <el-form-item label="邮箱" prop="email"> <el-input v-model="formData.email"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="formData.password"></el-input> </el-form-item> <el-form-item label="确认密码" prop="confirmPassword"> <el-input type="password" v-model="formData.confirmPassword"></el-input> </el-form-item> </el-form> ``` 3. 最后,我们需要定义验证函数,并将其作为验证规则的一部分: ``` methods: { validateConfirmPassword(rule, value, callback) { if (value !== this.formData.password) { callback(new Error('两次输入的密码不一致')) } else { callback() } } } ``` 通过这种方式,我们可以轻松地实现动态表单验证,并在用户输入时进行实时验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值