iview>Form表单电话/邮箱正则校验,开箱即用!

<template>
  <div>
<Button type="primary" @click="updateInfo">打开修改弹窗</Button>
    <Modal v-model="ModifyInfoModel" title="修改" :closable="false" :mask-closable="false">
      <Form onsubmit="return false" ref="ModifyInfo" :model="ModifyForm" :rules="ruleValidate" :label-width="100" >
        <Form-item label="电话:" prop="TelePhone">
          <Input t v-model="ModifyForm.TelePhone" placeholder="请输入电话" style="width: 84%" ></Input>
        </Form-item>
        <Form-item label="邮箱:" prop="Email">
          <Input  v-model="ModifyForm.Email" placeholder="请输入邮箱" style="width: 84%" ></Input>
        </Form-item>
      </Form>
      <footer slot="footer">
        <Button type="primary" @click="handleModify">修改</Button>
        <Button @click="handleCancel">取消</Button>
      </footer>
    </Modal>
  </div>
</template>
<script>
export default {
  name: 'App',
   data() {
    return {
      ModifyInfoModel:false,
      ModifyForm:{
        TelePhone:'',
        Email:''
      },
      ruleValidate:{
        TelePhone: [
            { required: true, message: '请填写电话号码', trigger: 'blur' },
            { pattern: /^1[345789]\d{9}$/, message: '手机号码格式不正确', trigger: 'blur' }
        ],
        Email: [
          { required: true, message: '请输入邮箱', trigger: 'blur' },
          { type: 'email', message: '请输入正确的邮箱格式', trigger: 'blur' }
        ],
      },
}},
methods: {
    updateInfo(){
      this.ModifyInfoModel = true
    },
    handleModify(){
      this.$refs['ModifyInfo'].validate((valid)=>{
        if(valid){
          alert('校验通过!')
        }
      })
    },
    handleCancel(){
     this.ModifyForm={
        TelePhone:'',
        Email:''
      }
      this.$refs['ModifyInfo'].resetFields()
      this.ModifyInfoModel = false
    },
}

}
</script>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iview form表单通过校验规则来确保用户输入数据的合法性。但是有时候我们需要移除某些校验规则来满足特定需求。 iview form表单提供了两种方法来移除校验规则,分别是通过表单ref属性和通过字段的prop属性。 通过表单ref属性移除校验规则,需要先获取表单对象,然后调用$refs.formName.removeRule()方法。其中,formName为表单的ref属性值,removeRule()方法中传入的参数为需要移除校验规则的字段的prop属性值。 实例如下: ```html <template> <Form :model="form" :rules="rules" ref="form"> <FormItem label="姓名" prop="name"> <Input v-model="form.name" /> </FormItem> <FormItem label="手机号" prop="phone"> <Input v-model="form.phone" /> </FormItem> <FormItem> <Button @click="removePhoneRule">移除手机号校验</Button> </FormItem> </Form> </template> <script> export default { data() { return { form: { name: '', phone: '' }, rules: { name: [{required: true, message: '请输入姓名', trigger: 'blur'}], phone: [{required: true, message: '请输入手机号', trigger: 'blur'}, {pattern: /^1[3456789]\d{9}$/, message: '手机号格式不正确', trigger: 'blur'}] } } }, methods: { removePhoneRule() { this.$refs.form.removeRule('phone'); } } } </script> ``` 通过字段的prop属性移除校验规则,只需要在校验规则中将该字段的校验规则设置为一个空数组即可。 实例如下: ```html <template> <Form :model="form" :rules="rules"> <FormItem label="姓名" prop="name"> <Input v-model="form.name" /> </FormItem> <FormItem label="手机号" prop="phone"> <Input v-model="form.phone" /> </FormItem> <FormItem> <Button @click="removePhoneRule">移除手机号校验</Button> </FormItem> </Form> </template> <script> export default { data() { return { form: { name: '', phone: '' }, rules: { name: [{required: true, message: '请输入姓名', trigger: 'blur'}], phone: [{required: true, message: '请输入手机号', trigger: 'blur'}, {pattern: /^1[3456789]\d{9}$/, message: '手机号格式不正确', trigger: 'blur'}] } } }, methods: { removePhoneRule() { this.rules.phone = []; } } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值