C# 验证十进制精度
嗨,我正在尝试计算,我正在使用fluent验证包确保遵守我的规则 验证正在启动并进入规则正常,但仍无法100%运行C# 验证十进制精度,c#,fluentvalidation,C#,Fluentvalidation,嗨,我正在尝试计算,我正在使用fluent验证包确保遵守我的规则 验证正在启动并进入规则正常,但仍无法100%运行 SageOrderMixB sageOrder = new SageOrderMixB(); var validator = new MixValidator(); var results = validator.Validate(sageOrder); public class MixValidator : AbstractValidator<SageOrderMix
SageOrderMixB sageOrder = new SageOrderMixB();
var validator = new MixValidator();
var results = validator.Validate(sageOrder);
public class MixValidator : AbstractValidator<SageOrderMixB>
{
public MixValidator()
{
RuleFor(x => x.WeightInTons).LessThanOrEqualTo(28).ScalePrecision(2, 2).WithMessage("Weight cannot be greater than 28 and must be a precison of 2"); ;
}
}
对我来说,这是我在做这件事时的立场,确保你在设定价值之后拥有它 var结果=validator.Validate(sageOrder)
我认为,你需要使用正则表达式
[RegularExpression(@"^\d+(\.\d{2,2})$")]
在这里:
.ScalePrecision(2,2)
第一个2
是小数位数。第二个2
是数字位置的数量
0.45
[RegularExpression(@"^\d+(\.\d{2,2})$")]