gpt4 book ai didi

c# - Fluent Validator 缺少 SetCollectionValidator() 方法

转载 作者:太空狗 更新时间:2023-10-29 22:26:24 26 4
gpt4 key购买 nike

我是 Fluent Validation 的新手,昨天刚从 nu Get 获得了 5.3 版。我正在尝试将现有验证器 (PhoneValidator) 应用于类 (Employee) 的集合属性 (ICollection)。 Fluent Validator 文档说要使用:

RuleFor(x => x.Orders).SetCollectionValidator(new OrderValidator()); // example usage

但是 SetCollectionValidator() 方法在我的版本上不可用。相反,只有标记为 [deprecated]SetValidator()。我看过其他关于同样情况的帖子,了解到 SetCollectionValidator() 是一种扩展方法,需要确保我导入了 FluentValidation。我愿意。

我在这里错过了什么?

using FluentValidation;
using FluentValidation.Validators;

public class EmployeeValidator : AbstractValidator<Employee>
{
public EmployeeValidator()
{
// SetCollectionValidator doesn't show in intellisense and won't compile
RuleFor(e => e.PhoneNumbers).SetCollectionValidator(new PhoneValidator());
}
}

public class PhoneValidator : AbstractValidator<Phone>
{
public PhoneValidator()
{
RuleFor(e => e.Number).Length(10).Matches("^[0-9]$");
}
}

最佳答案

我参加聚会迟到了,但这是 Google 上的第一篇文章,所以我认为它会对其他人有所帮助。似乎 API 已更改,您现在需要执行以下操作:

RuleForEach(e => e.PhoneNumbers).SetValidator(new PhoneValidator());

在我看来更好一些。

关于c# - Fluent Validator 缺少 SetCollectionValidator() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23943723/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com