在我的应用程序中,我根据运行时数据动态呈现 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/