Я пытаюсь проверить введенное пользователем электронное письмо в Xamarin.Forms с помощью Regex. Для этого мне требуется, чтобы шаблон включал:
var emailPattern = @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$";
Тогда я сопоставляю напечатанное письмо с шаблоном:
if (!Regex.IsMatch(Email, emailPattern) || Email == null)
{
EmailIsWrong = true;
}
else{
EmailIsWrong = false;
}
Однако возникает ошибка, которая равна System.ArgumentNullException: Value cannot be null.
Parameter name: input
в моем операторе if. Я попытался исправить это, имея Email == null
. Эта ошибка возникает всякий раз, когда я позволяю записи быть пустой.