gpt4 book ai didi

fluentvalidation - 使用 FluentValidation 检查字符串是否为大于零的数字

转载 作者:行者123 更新时间:2023-12-03 20:13:37 27 4
gpt4 key购买 nike

我已经开始使用 FluentValidation在 WPF 项目中,到目前为止,我以一种简单的方式使用它,检查字段是否已填充或少于 n 个字符。
现在我必须检查插入的值(这是一个字符串......该死的旧代码)是否大于 0。有没有一种简单的方法可以使用

RuleFor(x=>x.MyStringField).Somehow().GreaterThen(0) ?
提前致谢

最佳答案

只需像这样编写一个自定义验证器

public class Validator : AbstractValidator<Test>
{
public Validator()
{
RuleFor(x => x.MyString)
.Custom((x, context) =>
{
if ((!(int.TryParse(x, out int value)) || value < 0))
{
context.AddFailure($"{x} is not a valid number or less than 0");
}
});
}
}
从您需要验证的地方执行此操作
var validator = new Validator();
var result = validator.Validate(test);
Console.WriteLine(result.IsValid ? $"Entered value is a number and is > 0" : "Fail");
21 年 8 月 11 日更新
如果您打算在大型项目或 API 上使用它,那么从 Startup 执行此操作可能会更好我们不需要手动调用 validator.Validate()在每一种方法中。
services.AddMvc(options => options.EnableEndpointRouting = false)
.AddFluentValidation(fv =>
{
fv.RegisterValidatorsFromAssemblyContaining<BaseValidator>();
fv.ImplicitlyValidateChildProperties = true;
fv.ValidatorOptions.CascadeMode = CascadeMode.Stop;
})

关于fluentvalidation - 使用 FluentValidation 检查字符串是否为大于零的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58714978/

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