Как добавить проверку электронной почты в поле с помощью tcomb-form-native?
Используя библиотеку tcomb-form-native с react native-я установил keyboardType на адрес электронной почты. Как добавить регулярное выражение или Средство проверки электронной почты в форму? Должен ли я сделать это на функции submit (и бросить специальную ошибку?) или есть поле проверки регулярных выражений, которое я могу задать с помощью библиотеки?
Я заметил, что tcomb-проверка https://github.com/gcanti/tcomb-validationlibrary у есть поле типа RegExp , но я не вижу примеров его использования. Образец показано, как проверить, является ли поле шаблоном регулярных выражений, что является запутанным вариантом использования, потому что обычно требуется проверить поле на соответствие шаблону регулярных выражений, а не вводить шаблон регулярных выражений в поле.
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