Используйте регулярное выражение для проверки в контроллере - PullRequest
0 голосов
/ 20 декабря 2018

, чтобы начать Извините, если я полный и полный noob, но у меня была задача возможно использовать регулярное выражение для проверки входных данных пользователей на странице регистрации.Я на 100% бэкэнд, поэтому не вижу фронтэнда.так что мой одноклассник сказал мне, что я должен использовать регулярные выражения в контроллере, но я пишу только API.Можно ли использовать REGEX в API?Также я попытался указать вещи в моей модели, как

public string email { get; set; }
    [Display(Name = "Email address")]
    [Required(ErrorMessage = "The email address is required")]
    [EmailAddress(ErrorMessage = "Invalid Email Address")]

Но когда я обновляю свою БД и проверяю SQL в моей БД, она ничего не говорит об этом, и когда я отправляю запрос на публикацию с данными пользователя, этопросто позволяет мне вставить что-нибудь в качестве адреса электронной почты.извините, если я не описал некоторые вещи ясно, я надеюсь, что кто-нибудь может помочь мне в любом случаемы могли бы просто отбросить регулярное выражение и сделать его полной проверкой переднего плана, но было бы неплохо знать, как это сделать в будущем.:)

1 Ответ

0 голосов
/ 20 декабря 2018

Аннотации должны предшествовать свойству

[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string email { get; set; }

Таким образом, ваша проверка должна работать

, вы также можете использовать регулярное выражение

    [RegularExpression(@"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[A-Z0-9.-]+\.[A-Z]{2,}$", 
        ErrorMessage = "Characters are not allowed.")]

Редактировать: ТакжеВ вашем методе действий

[HttpPost]
public IActionResult Post(string email)
{
    if (ModelState.IsValid)
    {
        //return success result
    }

    return BadRequest(ModelState);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...