использование домена Vuelidate url должно соответствовать домену электронной почты - PullRequest
0 голосов
/ 07 октября 2018

У меня есть два поля ввода: url и email

Я использую 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 голосов
/ 07 октября 2018

Вы можете использовать custom validator с именем matchUrl следующим образом:

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

И использовать его как:

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

check этот рабочий пример

...