Jam*_*Coy 1 asp.net validation fluentvalidation asp.net-core
我集成了流畅的验证,对于 POST 请求模型验证来说效果很好
但是将验证器附加到 GET 请求的最佳方法是什么?
public async Task<IActionResult> GetV2Async(Constants.Status status, int? cafeId)
Run Code Online (Sandbox Code Playgroud)
我当前的 POST 请求验证器如下所示:
public CafeAddressRequestValidator()
{
RuleFor(x => x.Name).NotEmpty().WithMessage("Name is required");
RuleFor(x => x.AddressLine1).NotEmpty().WithMessage("AddressLine1 is required");
}
Run Code Online (Sandbox Code Playgroud)
这是一个工作演示,如下所示:
模型:
public class Status
{
public string Name { get; set; }
public string AddressLine1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
[HttpGet]
public IActionResult Get(Status status, int? cafeId)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
return Ok("Validate pass");
}
Run Code Online (Sandbox Code Playgroud)
启动.cs:
services.AddControllers()
.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<CafeAddressRequestValidator>());
Run Code Online (Sandbox Code Playgroud)
自定义 FluentValidation:
public class CafeAddressRequestValidator : AbstractValidator<Status>
{
public CafeAddressRequestValidator()
{
RuleFor(x => x.Name).NotEmpty().WithMessage("Name is required");
RuleFor(x => x.AddressLine1).NotEmpty().WithMessage("AddressLine1 is required");
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想通过验证,请发送如下请求https://localhost:portNumber/yourMethod?status.name=dsfsd&status.AddressLine1=sdf:
| 归档时间: |
|
| 查看次数: |
4334 次 |
| 最近记录: |