vue 表单验证

 

 <Form ref="ePersonalAccountAddDto" :model="ePersonalAccountAddDto" :label-width="125">
          <FormItem label="名称:" prop="name" :rules="name"  style="margin-top: 20px">
            <Input type="text" v-model="ePersonalAccountAddDto.name" value="" placeholder="名称"></Input>
          </FormItem>
          <FormItem label="手机号码:" prop="mobile" :rules="phone" style="margin-top: 20px">
            <Input type="text" v-model="ePersonalAccountAddDto.mobile" value="" placeholder="手机号码"></Input>
          </FormItem>
          <FormItem label="邮箱地址:" prop="email" :rules="email" style="margin-top: 20px" >
            <Input type="text" v-model="ePersonalAccountAddDto.email" value="" placeholder="邮箱地址"></Input>
          </FormItem>
          <FormItem label="证件号:" prop="idNumber" :rules="idCard" style="margin-top: 20px">
            <Input type="text" v-model="ePersonalAccountAddDto.idNumber" value="" placeholder="证件号"></Input>
          </FormItem>
          <FormItem label="统一社会信用代码:" prop="idNumber" :rules="name" style="margin-top: 20px">
            <Input type="text" v-model="ePersonalAccountAddDto.idNumber" value="" placeholder="统一社会信用代码"></Input>
          </FormItem>
        </Form>

 

data(){
    const validatePhone = (rule, value, callback) => {
          let reg = /^1[3|4|5|7|8][0-9]{9}$/;
          let res = reg.test(value);
          if (!value) {
            return callback(new Error('手机号不能为空'));
          } else {
            if (!res) {
              return callback(new Error('请输入正确的手机号'));
            } else {
              callback();
            }
          }
        };
        const validateIdCard = (rule, value, callback) => {
          let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
          let res = reg.test(value);
          if (!res) {
            return callback(new Error('请输入正确的身份证号码'));
          } else {
            callback();
          }
        };
        const validateEmail = (rule, value, callback) => {
          if (value === '') {
            callback(new Error('请正确填写邮箱'));
          } else {
            if (value !== '') {
              var reg=/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
              if(!reg.test(value)){
                callback(new Error('请输入有效的邮箱'));
              }
            }
            callback();
          }
        };
    return{
        name:[
            {required: true, message: '请输入', trigger: 'blur'}
          ],
          phone: [
            {validator:validatePhone, required: true, trigger: 'blur'}
          ],
           email: [
             {validator:validateEmail, required: true, trigger: 'blur'}
           ],
          idCard: [
            {validator: validateIdCard,required: true, trigger: 'blur'}
          ],
    }
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值