我有一个模型类:
public class YearlyChageRate
{
public int Year { get; set; }
public double Rate { get; set; }
}
我希望检查Yeae是否唯一或没有条件年份不是唯一的应用程序向用户显示错误消息。如何检查年份是否重复?
答案 0 :(得分:1)
您可以在视图模型上使用[Remote]
验证属性。
答案 1 :(得分:1)
这里也是:MVC validation for unique
您可以在模型中使用Remote属性来检查数据库中的唯一值。
这是远程属性的官方示例:http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx
答案 2 :(得分:1)
虽然您可以使用DataAnnotations属性进行验证,并使用[Remote]
属性来检查数据库,但这不是一个非常好的设计选择。
让我解释一下:
使用DataAnnotations,你可以混合3合1。它可以更快,但肯定没有很好的设计。
你可以尝试一种更具纪律性的方法,如下:
PRG pattern
,因为您永远不应在POST
方法上显示页面。谷歌让PRG pattern
了解更多信息。 MvcContrib有一个很好的ActionFilter
名为ModelStateToTempData
,使PRG模式的实现变得微不足道。