5

如 Brad Wilson 的帖子中所述,如何完成“模型级”验证:

最后,如果您希望验证可以访问多个属性,则将其设为模型级别的验证(以便将整个模型作为模型参数,而不是单个属性值)。

来自http://forums.asp.net/p/1457591/3650720.aspx

我尝试执行以下操作

[MyCustomValidation("SomeStuff")]
public class MyClass
{
     // properties
}

断点放置在触发器的IsValid覆盖中MyCustomValidation,代码只是继续。工作的构造函数中的断点MyCustomValidation,但之后没有。

这不是model-level validation指的吗?

更新:

dirtygopher 的链接到http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html显示模型验证,唯一的问题是放置了验证属性在父类的子属性上。

validation-attributes正如我在上面的示例中演示的那样,我正在寻找一种直接放置到班级的方法。

4

3 回答 3

2

在最新的 asp.net mv 2 附带的 RegisterModel 中有一个很好的例子。

查看“PropertiesMustMatch”属性及其用法。

于 2010-01-31T09:21:49.293 回答
0

这是 Brad Wilson 博客 http://bradwilson.typepad.com/blog/2010/01/input-validation-vs-model-validation-in-aspnet-mvc.html 中的好帖子。 我希望它能帮助你理解模型级验证的概念。

于 2010-02-02T12:21:39.403 回答
0

如果您使用的是 MVC3,这是这个问题的另一个答案。此示例创建一个可以附加到单个属性的属性,并通过传递属性名称和对象值使其依赖于另一个属性。

结果更优雅,因为属性附加到实际验证的对象。

http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx

于 2011-11-16T08:59:05.997 回答