【发布时间】:2019-06-10 12:35:59
【问题描述】:
我有这个视图模型:
public class VM
{
[Required]
public int Int1 { get; set; }
[Required]
public int Int2 { get; set; }
}
在视图中,这两个整数是通过下拉菜单选择的。如果从两个下拉列表中选择相同的值,我希望不显眼的验证失败(例如,假设 Int1 和 Int2 可以采用 1-10 范围内的值,并且用户为两者选择 9,验证应该失败)。我希望通过数据注释来实现这一点,而不是在前端编写 Javascript。
我找不到内置的验证属性,我找到了[Compare(string otherProperty)],但我本质上是在寻找Compare 的否定。
【问题讨论】:
-
你不能使用流利验证和检查值之类的 3rd 方验证吗?
-
@VinitPatel 是的,我猜,它是否也支持前端(不显眼)验证?
-
除了内置此特定功能的第三方库之外,您唯一的好选择是创建自定义验证属性以及相应的客户端验证(如果需要)。文档有一个指南:docs.microsoft.com/en-us/aspnet/core/mvc/models/…。同一页面下方有一个部分用于自定义客户端验证。
-
没有javascript,我可以建议你在控制器
if(int1==int2){return View();}