asp.net-mvc – asp.net mvc数据库交互验证
发布时间:2020-12-16 04:05:50 所属栏目:asp.Net 来源:网络整理
导读:在更新或添加到数据库之前,是否有任何关于如何连接需要与数据库交互的验证的链接或建议?我看到的每个示例都显示了如何验证属性,例“是必需的”,“是电子邮件”,“是数字”等,但是如何连接“无法订购缺货商品”的验证? This xVal blog post触及它但没有提供
在更新或添加到数据库之前,是否有任何关于如何连接需要与数据库交互的验证的链接或建议?我看到的每个示例都显示了如何验证属性,例“是必需的”,“是电子邮件”,“是数字”等,但是如何连接“无法订购缺货商品”的验证?
This xVal blog post触及它但没有提供一个例子.
我一直在关注使用存储库的NerdDinner教程,但这是我不太明白的…说我们有一个带有Create方法的OrderController,在创建订单之前我们必须首先检查该项目有货在NerdDinner样式中,Controller使用Repository与数据库进行通信,那么我们的Order对象(Model)如何能够与属性验证一起强制执行此验证,因为它无法与数据库通信? 谢谢你的帮助 解决方法
在NerdDinner教程中,您可以签出IsVaild,然后签出GetRuleViolation方法.根据您的业务和数据库规则,您可以使用这些规则检查插入之前的数据.您甚至可以创建一个IsValidForInsert方法来检查您需要强制执行的任何插入特定规则.
在NerdDinner中,GetRuleViolation允许您检索违反的规则,并根据您的选择将它们冒泡到界面. public bool IsValid { get { return (GetRuleViolations().Count() == 0); } } public IEnumerable<RuleViolation> GetRuleViolations() { if (CheckDbForViolation) yield return new RuleViolation("Database Violation","SomeField"); if (String.IsNullOrEmpty(Title)) yield return new RuleViolation("Title is required","Title"); if (String.IsNullOrEmpty(Description)) yield return new RuleViolation("Description is required","Description"); if (String.IsNullOrEmpty(HostedBy)) yield return new RuleViolation("HostedBy is required","HostedBy"); ... etc ... yield break; } public bool CheckDbForViolation() { /// Do your database work here... } 您可以进一步将数据库代码拆分到存储库中. CheckDbForViolation将调用repo获取信息,然后确定是否存在违规.事实上,如果您使用的是存储库,我认为这是最好的方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在.net 3.5 SP1中设置表单的操作会在编译时导致
- asp.net-mvc – MVC4表单输入验证 – 自定义错误范围
- asp.net-mvc – 如何在Asp.net MVC 2中替换默认的ModelStat
- asp.net – 内容处理:内联在Chrome中不起作用?
- asp.net – ASP MVC – 创建目录路径而不是文件路径的Bundl
- asp.net-mvc – 在Html.ActionLink的linkText中使用HTML标签
- asp.net-mvc – ASP.NET MVC性能
- asp.net-mvc – 清理用户指定的URL以防止XSS(使用ASP.NET M
- asp.net-mvc – AppHarbor的反向代理导致SSL和app.UseOAuth
- asp.net-mvc-3 – 复杂类型的可选[必需]
推荐文章
站长推荐
- asp.net – HttpContext.Current.Request.IsAuth
- asp.net – 为什么在Visual Studio 2010中禁用“
- ASP.NET MVC 3.0部分内部和外部表单具有不显眼的
- 更改JqGrid列的顺序
- ASP.NET vNext如何处理config.json中的缓存,压缩
- 动手造轮子:实现一个简单的依赖注入(三) --- 支
- ASP.NET Forms Authentication阻止在Login.aspx上
- 使用ASP.NET重新发明我的身份验证策略
- asp.net-mvc – MVC 4:多个控制器动作参数
- asp.net-mvc – 从桌面开发人员的角度来学习ASP.
热点阅读