【发布时间】:2020-09-11 14:23:46
【问题描述】:
我需要创建流利的_validator,我不会只使用一个模型。如果我的控制器需要更多模型?我将为每个模型创建_validator{modelName}?
我的代码
public class UserDtoValidator : AbstractValidator<UserDTO>
{
public UserDtoValidator()
{
RuleFor(p => p.Email).NotEmpty().EmailAddress()
.WithMessage("{PropertyName} should be not empty.");
RuleFor(p => p.Password).NotNull().Length(5, 30)
.WithMessage("{PropertyName} should be not empty.");
RuleFor(p => p.PasswordConfirm).Equal(p => p.Password);
}
}
Controller.cs
private readonly IValidator<UserDTO> _validator;
public UserController(IValidator<UserDTO> validator)
{
_validator = validator;
}
HttpPost
var validResult = _validator.Validate(model);
if (validResult.IsValid)
{
}
启动
services.AddControllers().AddFluentValidation();
services.AddSingleton<IValidator<UserDTO>, UserDtoValidator>();
工作很好。但我的 _validator 中需要多个模型。
【问题讨论】:
标签: c# validation asp.net-core fluentvalidation