Комментарии 3
Похоже на то, что вы велосипедите свои регулярки с небольшим добавлением плюшек
А ещё можно вот так:
sealed class UserLoginModelValidator : AbstractValidator<UserLoginModel>
{
public UserLoginModelValidator()
{
RuleFor(f => f.Email).NotEmpty().EmailAddress().MaximumLength(64);
RuleFor(f => f.Password).NotEmpty().MinimumLength(3).MaximumLength(32);
}
}
а потом вот так:
[Validator<UserLoginModelValidator>]
public sealed record UserLoginModel(string Email, string Password);
и вжух, оно будет валидироваца само и если не валидно то HTTP 400 и досвиданья:
[HttpPost]
[Route("login")]
public async Task<IActionResult> Login([FromBody] UserLoginModel m) {
// here the model will already be validated.
//
...
}
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Обзор библиотеки FluentValidation. Часть 7.2. Встроенные валидаторы