Blazored Fluent Validation 不适用于集合验证的解决方法是使用 Fluent Validation 的 Include 级联调用。例如,如果需要验证集合中包含的每个元素,则应编写以下代码:
public class Person
{
public string Name { get; set; }
}
public class MyViewModelValidator : AbstractValidator
{
public MyViewModelValidator()
{
RuleFor(x => x.People).SetCollectionValidator(new PersonValidator());
}
}
public class PersonValidator : AbstractValidator
{
public PersonValidator()
{
RuleFor(x => x.Name).NotEmpty();
}
}
public class MyViewModel
{
public List People { get; set; }
}
然后在Blazor页面中使用
和
来验证集合:
@foreach (var person in MyViewModel.People)
{
}
@code {
private FluentValidationValidator _validator;
private void HandleValidSubmit()
{
// ...
}
}