这是一个简单的问题(我认为)。
我有一个表单,表单底部有一个复选框,用户必须同意其中的条款和条件。如果用户没有选中该复选框,我希望在验证摘要中显示一条错误消息,沿着其他表单错误。
我把它添加到我的视图模型中:
[Required]
[Range(1, 1, ErrorMessage = "You must agree to the Terms and Conditions")]
public bool AgreeTerms { get; set; }
字符串
但那没用。
有没有一种简单的方法可以通过数据注解强制值为真?
5条答案
按热度按时间rdrgkggo1#
字符串
hzbexzde2#
实际上有一种方法可以让它与DataAnnotations一起工作。下面的方法:
字符串
irlmq6kh3#
你可以写一个已经提到的自定义验证属性。如果你在做客户端验证,你需要写自定义JavaScript来启用不显眼的验证功能。例如,如果你使用jQuery:
字符串
另一种方法(这是一个有点黑客,我不喜欢它)是在你的模型上有一个属性,总是设置为true,然后使用CompareAttribute来比较你的CompareTerms属性的值。简单的是,但我不喜欢它:)
lxkprmvk4#
ASP.NET Core 3.1
我知道这是一个很老的问题,但对于asp.net核心,
IClientValidatable
不存在,我想要一个解决方案,与jQuery Unobtrusive Validation
以及服务器验证,所以在这个SO问题Link的帮助下,我做了一个小的修改,与布尔字段一样,复选框。属性编码
字符串
模型
型
客户端代码
型
ar7v8xwq5#
从.NET 8开始,你可以像这样使用数据注解属性“AllowedValues“:
字符串