Element ui 循环校验表单 表单添加函数校验 循环获取 Ref 实例

循环校验表单

<el-form-item :label="item.attributeName" :prop="`attributes.${index}.attributeValue`" :rules="rules.attributeValue">
</el-form-item>

form:{
	attributes:[]
}
rules:{
	attributeValue:[]
}

表单添加函数校验

<el-form-item label="手机号" prop="staffPhone">
  <el-input
    v-model="form.staffPhone"
    placeholder="请输入手机号"
    maxlength="11"
  />
</el-form-item>

form: {
    staffPhone: '',
}

const checkPhone = (rule: any, value: any, callback: any) => {
  // checkFun._checkPhone 封装的手机号码正则
  if (!checkFun._checkPhone(value)) {
    callback(new Error("手机号输入有误,请重新输入!"));
  } else {
    callback();
  }
};

rules: {
	staffPhone: [
      { required: true, message: "请输入电话", trigger: "blur" },
      { validator: checkPhone, trigger: "blur" },
    ],
}

循环获取 Ref 实例

const formRef = ref([] as any);
const setPositionRef = (el: any) => {
  if (el) {
    formRef .value.push(el);
  }
};

校验字段多个或者不在表单中

<el-form-item label="营业时间:" required :error="customError">
  <div class="display-align">
    <el-time-picker
      v-model="form.openingTime"
      style="width: 220px; margin-right: 8px"
      is-range
      format="HH:mm"
      value-format="HH:mm"
      range-separator="至"
      start-placeholder="开始时间"
      end-placeholder="结束时间"
    />
    <el-checkbox v-model="form.isAllDay">全天营业</el-checkbox>
  </div>
</el-form-item>

form:{
	openingTime: "",
	isAllDay: ""
}
// 显示非表单校验的内容
 customError: "",

if (!form.value.openingTime && !form.value.isAllDay) {
    customError.value = "请选择营业时间";
    return false;
  } else {
    customError.value = "";
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在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中进行表单校验的基本步骤。你可以根据实际需求自定义校验规则,并根据校验结果进行相应的处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卷不动了阿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值