Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 5 FluentValidation:将值与其他字段进行比较_Asp.net Mvc 5_Fluentvalidation - Fatal编程技术网

Asp.net mvc 5 FluentValidation:将值与其他字段进行比较

Asp.net mvc 5 FluentValidation:将值与其他字段进行比较,asp.net-mvc-5,fluentvalidation,Asp.net Mvc 5,Fluentvalidation,有人提到我在MVC5 C#ASP.NET中使用FluentValidation。我试图将一个字段与其他两个字段进行比较,但得到一个错误 我定制的“AbstractValidator”中的代码如下: RuleFor(x => x.Length).LessThanOrEqualTo(y => y.LengthMax) .GreaterThanOrEqualTo(z => z.LengthMin); 当视图试图使用EditFor()呈现“Length”字段的控件时,会显示此错

有人提到我在MVC5 C#ASP.NET中使用FluentValidation。我试图将一个字段与其他两个字段进行比较,但得到一个错误

我定制的“AbstractValidator”中的代码如下:

RuleFor(x => x.Length).LessThanOrEqualTo(y => y.LengthMax)
   .GreaterThanOrEqualTo(z => z.LengthMin);
当视图试图使用
EditFor()
呈现“Length”字段的控件时,会显示此错误

附加信息:不引人注目的客户端中的验证类型名称 验证规则必须是唯一的。以下验证类型无效 多次看到:范围

如何将同一型号的一个值与另两个值进行比较。

根据:

请注意,FluentValidation还可以与ASP.NET MVC一起使用 客户端验证,但并非所有规则都受支持。例如 使用条件(带有When/除非)定义的任何规则,自定义 验证程序或对的调用不得在客户端运行。这个 客户端上支持以下验证器:

*NotNull/NotEmpty
*匹配项(正则表达式)
*包括两种(范围)
*信用卡
*电子邮件
*相等(跨属性相等比较)
*长度


关于在上运行自己的fluent属性验证器,可以找到更多信息。

如果您不介意丢失javascript验证,可以使用FluentValidation的Must扩展来完成

RuleFor(m=> m.Length).Must((model, field) => field >= model.LengthMin && field <= model.LengthMax);

RuleFor(m=>m.Length).Must((模型,字段)=>field>=model.LengthMin&&field我之所以使用此选项是为了进行JavaScript验证。可能我可以自己手动添加JavaScript验证并使用Must。我将研究此选项,谢谢。我一直在查看文档,但希望有人已经做了类似的事情,并且可以提供一个示例。谢谢,我会看一下这些文件。