流畅的验证,设置最小值以防 属性 的值小于
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;
}
}
}
我正在使用流畅的验证来验证某些模型。
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;
}
}
}