如何在DbDataController中使用业务验证?

时间:2012-04-14 18:10:46

标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api singlepage

ASP.NET MVC 4的默认单页面应用程序模板中有一个crud操作,如下所示。

upshot.js与来自DbDataController的操作的响应交互,如果操作失败,则upshot.js会出现验证错误,并且能够在客户端显示。

我需要做的是将自己的业务规则用于运营。但目前尚不清楚在DbDataController中放置验证错误的位置。

例如:InsertEntity(entity);如果失败并且验证错误自动发送到客户端,则操作可以放置验证错误。但是,如果发生这种情况,我想提出我的业务验证错误。那我在哪里可以把它放在那里?

public partial class TasksSPAController : DbDataController<MvcApplication8.Models.TasksSPAContext>
{
    public IQueryable<MvcApplication8.Models.TodoItem> GetTodoItems() {
        return DbContext.TodoItems.OrderBy(t => t.TodoItemId);
    }

    public void InsertTodoItem(MvcApplication8.Models.TodoItem entity) {
            //before this action i want to check business validation rules.
            // if it is not validated so i want to put errors to response 
            // that is usable by upshot.js
            InsertEntity(entity);
    }

    public void UpdateTodoItem(MvcApplication8.Models.TodoItem entity) {
        UpdateEntity(entity);
    }

    public void DeleteTodoItem(MvcApplication8.Models.TodoItem entity) {
        DeleteEntity(entity);
    }
}

1 个答案:

答案 0 :(得分:0)

检查Fluent Validation,没有更好更容易的事了!