Как лучше всего реализовать проверку поля с помощью ASP.NET MVC?

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

Ответов (3)

Решение

Взгляните на плагин JQuery Validation, этот плагин потрясающий, он прост в реализации и имеет все функции, которые могут вам когда-либо понадобиться, включая удаленную проверку через AJAX.

Кроме того, образец метода контроллера MVC , можно найти здесь , который в основном используется JsonResult типа действия , как:

public JsonResult CheckUserName(string username)
{
    return Json(CheckValidUsername(username));
}

Мой любимый способ выполнения как клиентской, так и серверной проверки с использованием атрибутов на основе модели. Я написал короткое сообщение об этом и также выпустил исходный код, который в основном позволит вам создать такой класс.



class User {

    [Required]
    public string Name{get;set;}

    [Email][Required]
    public string Email {get;set;}
}

И соответствующий код javascript будет сгенерирован для выполнения проверки клиента, а средство выполнения проверки на стороне сервера будет проверять вашу отправленную форму.

Прочтите сообщение здесь

IMO с использованием xVal с jQuery и DataAnnotationsModelBinder - лучшая комбинация.

Однако иногда существуют правила проверки, которые нельзя полностью проверить на стороне клиента, поэтому вам необходимо использовать удаленную проверку на стороне клиента.

Я нашел способ в целом реализовать удаленную проверку на стороне клиента с помощью xVal / jQuery.validate, чтобы

  • Правила проверки остаются исключительно в вашей модели ASP.NET MVC.
  • Вы пишете каждое правило проверки только один раз и только в легко тестируемом коде C#. Нет JavaScript или другого аналога на стороне клиента.
  • Нет необходимости разветвлять или иным образом изменять xVal или jquery.validate
  • Все, что вам нужно сделать для каждого нового правила проверки удаленной формы, - это унаследовать от базового класса, показанного в этой статье.

Я написал статью в блоге об этом, описав все детали.