C# ASP.MVC 3.0中的验证
我有一个模型课:C# ASP.MVC 3.0中的验证,c#,asp.net,asp.net-mvc-3,validation,C#,Asp.net,Asp.net Mvc 3,Validation,我有一个模型课: public class YearlyChageRate { public int Year { get; set; } public double Rate { get; set; } } 我想检查Yeae是唯一的还是否,以及in-condition Year不是唯一的应用程序是否向用户显示错误消息。我如何检查Year字段是否重复?您可以在视图模型上使用validation属性。您可以在视图模型上使用validation属性。以下是一个很好的示例: 这里也
public class YearlyChageRate
{
public int Year { get; set; }
public double Rate { get; set; }
}
我想检查Yeae是唯一的还是否,以及in-condition Year不是唯一的应用程序是否向用户显示错误消息。我如何检查Year字段是否重复?您可以在视图模型上使用validation属性。您可以在视图模型上使用validation属性。以下是一个很好的示例:
这里也是:
您可以在模型中使用Remote属性来检查数据库中的唯一值
这是远程属性的官方示例:
还有一个:这是一个很好的例子:
这里也是:
您可以在模型中使用Remote属性来检查数据库中的唯一值
这是远程属性的官方示例:
还有一点:尽管可以使用DataAnnotations属性进行验证,也可以使用
[Remote]
属性对DB进行检查,但这不是一个很好的设计选择
让我解释一下:
- 数据访问是一个数据层问题
- 验证是业务层的事情
- 用户输入和反馈是一个ui问题
- 在业务级别有一个方法,该方法将对象作为参数,使用Choice的验证框架在内部执行验证李>
- 此方法将仅在验证通过时调用数据访问来持久化对象李>
- 此方法将始终将已验证的对象返回到UI,如果有任何内容未验证,则返回一组字段/错误李>
- 在ui中读取方法的输出时,如果没有错误,则可以显示成功页面,或者在返回验证错误的情况下重新显示表单。为此,强烈建议使用
,因为您不应该在PRG模式
方法上显示页面。谷歌搜索POST
,了解更多信息。MvcContrib有一个很好的PRG模式
,名为ActionFilter
,使PRG模式的实现变得简单ModelStateToTempData
[Remote]
属性进行DB检查,但这不是一个很好的设计选择
让我解释一下:
- 数据访问是一个数据层问题
- 验证是业务层的事情
- 用户输入和反馈是一个ui问题
- 在业务级别有一个方法,该方法将对象作为参数,使用Choice的验证框架在内部执行验证李>
- 此方法将仅在验证通过时调用数据访问来持久化对象李>
- 此方法将始终将已验证的对象返回到UI,如果有任何内容未验证,则返回一组字段/错误李>
- 在ui中读取方法的输出时,如果没有错误,则可以显示成功页面,或者在返回验证错误的情况下重新显示表单。为此,强烈建议使用
,因为您不应该在PRG模式
方法上显示页面。谷歌搜索POST
,了解更多信息。MvcContrib有一个很好的PRG模式
,名为ActionFilter
,使PRG模式的实现变得简单ModelStateToTempData