element ui 表单校验的多种姿势

<template>
  <div>
    <el-form
      ref="form"
      :model="form"
      :rules="rules"
      label-width="100px"
    >
      <el-form-item
        prop="userName"
        label="用户名"
      >
        <el-input v-model="form.userName"></el-input>
      </el-form-item>
      <!--标签内的验证-->
      <el-form-item label="用户名"  :prop="userName" :rules="[{ required: true, message: '请输入用户名',trigger: 'blur'}]">
         <el-input v-model="userName" :maxlength="16" placeholder clearable></el-input>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
import API from '@/api/rules'
export default {
  components: {},
  name: 'rules',
  data() {
      // 后台校验
    let validateUserName = (rule, value, callback) => {
      // 调用后台API校验用户名是否已存在
      API.validateUserNameApi(value).then(res => {
        if (res) {
          callback(new Error('账号已存在!'))
        } else {
          callback()
        }
      }).catch(() => {
        callback(new Error('账号验证重复api出错!'))
      })
    }
    return {
      form: {
        userName: ''
      },
      rules: {
        userName: [
          // elementUI 常规校验
          { required: true, min: 3, max: 20, message: '账户为3~20位', trigger: ['blur', 'change'] },
          // 正则表达式校验
          { pattern: /^[A-Za-z0-9_]+$/, message: '由字母、数字、下划线组成', trigger: ['blur', 'change'] },
          // 后台校验
          { validator: validateUserName, trigger: 'blur' }
        ]
      }
    }
  }
}
</script>
要在Element UI中进行表单校验,可以按照以下步骤操作: 1. 在el-form元素上添加校验规则字段rules,并将其绑定到一个对象上。例如,在data中定义一个名为rules的对象,并将其绑定到el-form上::rules="rules"。 2. 在script标签中定义rules对象,并在该对象中添加要校验的字段及其校验规则。每个字段的校验规则是一个数组,包含一个或多个校验规则对象。例如,要校验用户名字段,可以使用以下格式进行配置: ``` rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ] } ``` 这个例子中的校验规则要求用户名字段不能为空,且在表单失去焦点时触发校验。你可以根据需求自定义校验规则。 3. 在el-form-item元素内部的el-input组件上添加需要校验的字段名。例如,要校验用户名字段,可以在el-input上添加prop属性并将其值设置为"username"。 4. 如果还需要在提交表单时进行整体校验,可以使用el-form组件的validate方法。在点击提交按钮或其他触发表单提交的事件时,调用validate方法即可。例如,可以在按钮的点击事件中添加以下代码: ``` this.$refs.form.validate((valid) => { if (valid) { // 表单校验成功,执行提交操作 } else { // 表单校验失败,给出相应提示 } }); ``` 这个例子中的代码会对整个表单进行校验,并在校验完成后的回调函数中判断校验结果。如果valid为true,则表示校验通过;如果valid为false,则表示校验不通过。 以上是在Element UI中进行表单校验的基本步骤。你可以根据实际需求自定义校验规则,并根据校验结果进行相应的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值