Как добавить проверку электронной почты в поле с помощью tcomb-form-native?



Используя библиотеку tcomb-form-native с react native-я установил keyboardType на адрес электронной почты. Как добавить регулярное выражение или Средство проверки электронной почты в форму? Должен ли я сделать это на функции submit (и бросить специальную ошибку?) или есть поле проверки регулярных выражений, которое я могу задать с помощью библиотеки?



Я заметил, что tcomb-проверка https://github.com/gcanti/tcomb-validationlibrary у есть поле типа RegExp , но я не вижу примеров его использования. Образец показано, как проверить, является ли поле шаблоном регулярных выражений, что является запутанным вариантом использования, потому что обычно требуется проверить поле на соответствие шаблону регулярных выражений, а не вводить шаблон регулярных выражений в поле.

548   1  

1 ответ:

Вы можете создать свой собственный подтип с помощью проверки регулярных выражений

const Email = t.refinement(t.String, email => {
  const reg = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/; //or any other regexp
  return reg.test(email);
});

const Person = t.struct({
  name: t.String,
  email: Email,
});

Comments

    Ничего не найдено.