【发布时间】:2015-09-07 06:55:32
【问题描述】:
我正在创建一个应用程序,其中包含年龄范围、体重范围、身高范围等。因此,在这些字段中,我为每个字段使用了两个文本框。例如,对于年龄范围,我将 Age From 和 Age To 这两个文本框用于其他属性,依此类推。但我正在尝试找到一个解决方案来比较 Age From 和 Age To 以检查 Age To 是否没有比 Age From 大,反之亦然。为了实现这一点,我从 NUGET 下载了 Foolproof 并这样做:
[GreaterThan("WeightFrom",ErrorMessage="Please verify the Weight Range")]
public string WeightTo { get; set; }
但是这个验证器检查该字段是否为必填字段。因为用户可能根本不填写此条件,但如果他们填写,那么我需要检查输入以确保 Weight To 大于 Weight From 值。所以,请告诉我如何实现这一点。有没有其他方法可以做到这一点?谢谢。
【问题讨论】:
-
不清楚您的要求 - 您使用的属性可确保
WeightTo大于WeightFrom的值,这似乎是您想要的,但将属性设置为string不会感觉 - 它们需要是数字类型,例如int -
将其作为字符串仍然在做同样的事情,但如果我将此重量范围留空,那么它仍然会使其填充为红色。但是这些范围字段的系统条件是可选的。
-
然后你需要写你自己的验证属性(比如)
[GreaterThanIf] -
感谢您的回复。实际上,我是 MVC 的新手,所以如果您能给我提供一个创建验证属性的示例,我将不胜感激。
-
从this article 开始,这是创建验证属性的一个很好的指南,包括服务器端和客户端验证。如果您遇到问题,请发布您尝试过的代码,表明什么不起作用
标签: c# asp.net-mvc properties