2011-06-07 4 views
0

Я не могу найти примеры того, как выполнять проверку на стороне клиента с помощью MVC jQGrid. Для стороны клиента я могу видеть, что я должен назначить столбец свойств EditClientSideValidatorsПроверка ASP.NET MVC jQGrid на стороне клиента и на стороне сервера

public List<JQGridEditClientSideValidator> EditClientSideValidators { get; set; }

Но я не могу понять, как назначить проверку этого.

Но как сделать проверку сервера это также вопрос

UPDATE

Я думаю, что я нашел клиента на стороне что-то проверка http://www.trirand.net/aspnetmvc/grid/editclientsidevalidation

ответ

0

Если вы схватил лицензию, которая включает в себя поддержку, которую вы можете попросить разработчик ... в противном случае ссылка, которую вы показали, имеет документацию ... сетка должна запрашивать валидаторы, когда она получает данные, например:

public void SetUpGrid_EditClientSideValidation(JQGrid grid) 
{ 
    // Setting the DataUrl to an action (method) in the controller is required. 
    // This action will return the data needed by the grid. 
    // EditUrl will point to the editing action 
    grid.DataUrl = Url.Action("EditClientSideValidation_DataRequested"); 
    grid.EditUrl = Url.Action("EditClientSideValidation_EditRow"); 

    var integerColumn = grid.Columns.Find(c => c.DataField == "Integer"); 
    integerColumn.EditClientSideValidators.Add(new RequiredValidator()); 
    integerColumn.EditClientSideValidators.Add(new MinValueValidator { MinValue = 10 }); 
    integerColumn.EditClientSideValidators.Add(new MaxValueValidator { MaxValue = 100 }); 

    var numberColumn = grid.Columns.Find(c => c.DataField == "Number"); 
    numberColumn.EditClientSideValidators.Add(new RequiredValidator()); 
    numberColumn.EditClientSideValidators.Add(new MinValueValidator { MinValue = 0.1 }); 
    numberColumn.EditClientSideValidators.Add(new MaxValueValidator { MaxValue = 100.1 }); 

    var emailColumn = grid.Columns.Find(c => c.DataField == "Email"); 
    emailColumn.EditClientSideValidators.Add(new RequiredValidator()); 
    emailColumn.EditClientSideValidators.Add(new EmailValidator()); 

    var linkColumn = grid.Columns.Find(c => c.DataField == "Link"); 
    linkColumn.EditClientSideValidators.Add(new RequiredValidator()); 
    linkColumn.EditClientSideValidators.Add(new UrlValidator()); 

    var customColumn = grid.Columns.Find(c => c.DataField == "Custom"); 
    customColumn.EditClientSideValidators.Add(new Trirand.Web.Mvc.CustomValidator { ValidationFunction = "validateCustomField" }); 
    } 

// This method is called when the grid requests data. You can choose any method to call 
// by setting the JQGrid.DataUrl property 
public JsonResult EditClientSideValidation_DataRequested() 
{ 
    // Get both the grid Model 
    // The data model in our case is an autogenerated linq2sql database based on Northwind. 
    var gridModel = new EditValidationModel(); 
    SetUpGrid_EditClientSideValidation(gridModel.ValidatedGrid); 

    // return the result of the DataBind method, passing the datasource as a parameter 
    // jqGrid for ASP.NET MVC automatically takes care of paging, sorting, filtering/searching, etc 
    List employees = GetClientValidatedEmployeeData(); 
    return gridModel.ValidatedGrid.DataBind(employees.AsQueryable()); 
} 
Смежные вопросы