Validation ASP.NET MVC(2)数据批注验证和更新模型<;T>;(C#)

Validation ASP.NET MVC(2)数据批注验证和更新模型<;T>;(C#),validation,asp.net-mvc-2,Validation,Asp.net Mvc 2,因此,如果我想向数据库添加新对象,我可以这样写: public ActionResult Something(SomeObject Object) { if (ModelState.IsValid()) { DataContext.SomeObjects.InsertOnSubmit(Object); DataContext.SubmitChanges(); }; } 但是,当我想要更新一个对象时,如何调用验证?UpdateModel是否自动执行

因此,如果我想向数据库添加新对象,我可以这样写:

public ActionResult Something(SomeObject Object) {
    if (ModelState.IsValid()) {
        DataContext.SomeObjects.InsertOnSubmit(Object);
        DataContext.SubmitChanges();
    };
}
但是,当我想要更新一个对象时,如何调用验证?
UpdateModel
是否自动执行验证,或者我是否必须做一些事情来告诉它,或者在调用
UpdateModel
之前我是否必须做一些事情

编辑:

对于@SLaks,我也要这样做:

UpdateModel<SomeObject>(Object);

if (ModelState.IsValid()) {
    DataContext.SubmitChanges();
};
UpdateModel(对象);
if(ModelState.IsValid()){
DataContext.SubmitChanges();
};

或者,如果我正在破坏它,请告诉我正确的方法。

您应该再次检查
ModelState.IsValid()

您最初的问题似乎是“如何调用验证?”

如果对象实现了
IDataErrorInfo
接口,则对该对象调用验证
IDataErrorInfo
在模型绑定器中实现-这发生在将执行传递给操作之前

所以,简单地回答:如果您使用
DataAnnotations
,您不必告诉它做什么。验证会在到达操作代码之前自动进行。这就是为什么
ModelState.IsValid()
返回一个值的原因,因为验证已经完成