C# FluentValidation验证方法引发异常

C# FluentValidation验证方法引发异常,c#,asp.net-mvc,validation,fluentvalidation,C#,Asp.net Mvc,Validation,Fluentvalidation,我在使用FluentValidation库时遇到一些问题 我有一个非常小的型号 ` 到目前为止还不错,问题是当程序正在执行时,它与var结果=验证器。验证(模型)它引发SystemFormatException validate方法不应该抛出异常,而应该返回一个包含布尔字段的对象,该字段指示模型是否有效以及错误列表 PS:我知道这个特殊的验证也可以使用DataAnnotation完成,但我想使用Fluentvalidation,因为它更灵活 提前感谢您的帮助。正如@RIc指出的,我的资源文件中

我在使用FluentValidation库时遇到一些问题

我有一个非常小的型号
`

到目前为止还不错,问题是当程序正在执行时,它与<代码>var结果=验证器。验证(模型)它引发SystemFormatException

validate方法不应该抛出异常,而应该返回一个包含布尔字段的对象,该字段指示模型是否有效以及错误列表

PS:我知道这个特殊的验证也可以使用DataAnnotation完成,但我想使用Fluentvalidation,因为它更灵活


提前感谢您的帮助。

正如@RIc指出的,我的资源文件中存在字符串格式问题

在我的validor上我有这条线

 RuleFor(x => x.Name)
        .Length(1, 5)
            .WithLocalizedMessage(() => BaseValidationResource.LengthValidationMessage, 1, 5);
它指向资源文件并传递了2个参数。但在我的资源文件中,我需要3个参数(属性名、最小值、最大值)

然而,我使用了错误的注释。下面是资源文件的前后版本


什么是
BaseValidationResource.LengthValidationMessage
哦,我只是指向我的资源文件上的一条错误消息,因为本地化问题。你能发布它的代码吗?@RIc很抱歉回复太晚了。我甚至没有想到资源文件,但在您要求查看它之后,我去注释了显示错误消息的行,神奇地,该方法停止了爆炸。仔细检查文件后,我找到了问题的根源。非常感谢您的帮助,我已经花了一天多的时间在这上面,如果没有您的临床观察,我将永远无法找到解决方案。可能是一个字符串格式问题,在没有看到它的情况下猜测!很高兴修好了
public class PersonValidator : AbstractValidator<PersonModel>
{   
    public PersonValidator()
    {

        RuleFor(x => x.Name)
        .Length(1, 5)
            .WithLocalizedMessage(() => BaseValidationResource.LengthValidationMessage, 1, 5);


    }
}
public ActionResult Index()
    {

        var model = new PersonModel();
        model.Name = "John Doe";

        var validator = new PersonValidator();
        var results = validator.Validate(model);
        var error = GetModelErrors();

        return View(model);
    }
 RuleFor(x => x.Name)
        .Length(1, 5)
            .WithLocalizedMessage(() => BaseValidationResource.LengthValidationMessage, 1, 5);