使用Vuelidate网址域应与电子邮件域匹配

时间:2018-10-07 08:05:21

标签: forms validation vue.js dns vuelidate

我有两个输入字段:urlemail

我正在使用Vuelidate,我想做一个自定义验证器,以检查URL域名是否等于电子邮件域名。

有效示例:

url:(https://)www.mydomain.example

电子邮件:johndoe@mydomain.example

无效的示例:

url:(https://)www.mydomain.example

电子邮件:johndoe@somedomaine.example

验证对象:

validations: {
    form: {
      url: { required, url, maxLength: maxLength(2083) },
      email: { required, email, maxLength: maxLength(255) },
      lastName: { required, maxLength: maxLength(100) },
      firstName: { required, maxLength: maxLength(100) }
    }
  },

1 个答案:

答案 0 :(得分:1)

您可以按如下方式使用名为custom validator的{​​{1}}:

matchUrl

并将其用作:

  const matchUrl=(value, vm) => 
   value.substring(value.indexOf("@")+1) ===vm.url.substring(vm.url.indexOf(".")+1);

查看this工作示例