asp.net-mvc - 如何验证非模型属性?

标签 asp.net-mvc asp.net-mvc-3 validation

在我的应用程序中,我根据运行时数据动态呈现 UI。有一个模型,但它没有编译属性。相反,我正在检查数据库并使用这样的帮助程序呈现多个字段:

@Html.TextBox("name", RunTimeValue)

现在我想包括对这些字段的验证,但我不知道该怎么做。自定义 MetadataProvider 似乎不起作用,因为它仍然期望模型具有 属性,而提供者提供属性。但是我的模型属性直到运行时才存在。由于这个原因,我也不能使用,例如 EditorFor。那么我该如何在这种情况下注入(inject)验证(客户端和服务器)呢?

最佳答案

如果你启用了不显眼的验证,你可以通过这样做作弊

@Html.TextBox("name", RunTimeValue, new Dictionary<string, object> { { "data-val", "true" }, { "data-val-required", "The name is required" } })

开箱即用的其他可能的 data-val 值是 data-val-regex(带有 data-val-regex-pattern)、data-val-range(带有 data-val-range-min 和 data-val- range-max)、data-val-number 和其他一些我没有用过的。

关于asp.net-mvc - 如何验证非模型属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10449807/

相关文章:

c# - 使用验证器确保用户填写了两个必填字段之一

javascript - 有没有一种安全的方法可以使用 JavaScript 验证 JSON 输入?

asp.net-mvc - 使用viewModels通过MVC中的用户ID在MVC中使用IEnumerable过滤行

c# - 如何在 ASP.NET MVC 3 中限制文件上传为 JPG、PNG 和 GIF

c# - MVC中如何处理jQuery bootgrid请求数据

c# - INSERT 语句与 FOREIGN KEY 冲突

C# - 在 ASP.NET MVC 3 View 中使用多个数据调用

xml - Powershell XML 验证

c# - ASP.NET MVC DropDownList 选值问题

asp.net-mvc - ASP.NET MVC : Action that is only called by other actions