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()
返回一个值的原因,因为验证已经完成