流畅的验证,设置最小值以防 属性 的值小于

Fluent validation, set the minimum value in case property has value less then

我正在使用流畅的验证来验证某些模型。

public class CarModelValidator : AbstractValidator<CarModel>
{
    public CarModelValidator ()
    {
        RuleFor(x => x.Name).NotEmpty();
        // RuleFor(x => x.NrOfDoors)....
    }
}

是否可以验证CarModel是属性NrOfDoors,如果小于2则设置值为2。或者fluent validation是不是为了那个?它只是为了验证模型并通知用户而不是为了设置值吗?

我认为 RuleFor(x => x.NrOfDoors).GreaterThanOrEqualTo(2) 应该可以解决问题

最佳做法是通过任何 class 库或工具进行验证 验证任务,并且它基于 Separation_of_concerns 模式。

但是如果你需要确保 NrOfDoors 属性 有最大值 2 你可以像这样使用完整的 属性:

public class CarModel
{
    private int nrOfDoors;

    public int NrOfDoors
    {
        get { return nrOfDoors; }
        set
        {
            if (value > 2)
                nrOfDoors = 2;
            else
                nrOfDoors = value;
        }
    }
}