Сведения о вопросе

None

01:13, 7th August, 2020

Теги

c#   asp.net-mvc   validation    

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

Просмотров: 523   Ответов: 15

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



  Сведения об ответе

DINO

01:13, 5th August, 2020

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

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

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


  Сведения об ответе

lesha

09:29, 14th August, 2020

@Chuck - вы еще не можете использовать элементы управления AjaxToolKit в ASP.NET MVC. Они работают только в модели обратной передачи ASP.NET страниц.

Обновление:

С 20 августа 2008 года вы можете использовать файлы сценариев только из набора инструментов управления Ajax внутри платформы ASP.NET MVC. Вот ссылка на релиз .

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

Я просто хочу убедиться, что все получают правильную информацию, если они читают эту тему.


  Сведения об ответе

DINO

23:59, 12th August, 2020

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

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

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

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

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


  Сведения об ответе

PHPH

06:12, 4th August, 2020

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

Я начал с этого поста, который делает очень хорошую работу о том, как настроить аналогичную установку:

Проверка на основе модели на стороне клиента для ASP.NET MVC


  Сведения об ответе

+-*/

10:37, 9th August, 2020

Вы можете использовать фреймворк проверки .net на codeplex, если вам нужна проверка как на стороне клиента, так и на стороне сервера. Он генерирует код для плагина jQuery validate на основе правил, определенных в модели. Кроме того, если вы используете функциональность фреймворка "advanced", вы можете вручную управлять настройками плагина jQuery validate. Проверьте быстрый запуск mvc .


  Сведения об ответе

PHPH

05:16, 18th August, 2020

мой путь:

Я следую примеру, показанному в контроллере учетных записей, поставляемом с выпуском Preview 4, где поле-это проверка контроллера, и если возникает ошибка, то массив строковых ошибок агрегируется для последующего показа в том же представлении, которое запустило запрос.

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

А чем вы, ребята, пользуетесь?


  Сведения об ответе

SEEYOU

11:43, 2nd August, 2020

Вы смотрели на элементы управления, поставляемые с AjaxToolKit? Я использовал MaskedEditExtender и ValidatorCalloutExtender и был очень доволен результатами.

@Dale-спасибо, что поправил меня на этот счет! Я не знал об этом (просто начал использовать инструментарий на прошлой неделе). Пожалуйста, не обращайте внимания на мое предложение :)


  Сведения об ответе

DO__IT

11:17, 20th August, 2020

  Сведения об ответе

screen

14:27, 17th August, 2020

Используйте гибрид проверки на стороне клиента и проверки на стороне сервера.

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

С другой стороны, проверка на стороне сервера должна быть обязательной: никогда не доверяйте входным данным клиента. Я бы определенно посмотрел на возможности, предоставляемые фреймворком ASP.NET MVC в Preview 5 (как описано в ответе Мэтта Хинце ),


  Сведения об ответе

KOMP

13:34, 18th August, 2020

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



class User {

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

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

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

Читайте Сообщение здесь


  Сведения об ответе

ASSembler

06:17, 20th August, 2020

Одним из способов реализации проверки в ASP.NET MVC является использование аннотаций данных наряду с проверкой на стороне клиента. В этой статье показано, как это можно сделать для классов моделей, созданных entity framework.


  Сведения об ответе

park

09:52, 1st August, 2020

Если вы хотите придерживаться функциональности out-of-the-box, но вам нужно расширить ее, взгляните на мой ответ здесь на вопрос о IDataError.

В основном я использую аннотации данных и modelbinder для более сложной логики. Я обнаружил, что это довольно чистый способ и позволяет мне оставаться в пределах того, что предоставляет MS.

Я объясняю, как использовать modelbinder для добавления 'class-level' проверки вашей модели без использования IDataError , что, как вы уже видели, может быть довольно неуклюжим. Он по-прежнему позволяет использовать [обязательные] атрибуты или любые другие пользовательские атрибуты проверки, но позволяет добавлять или удалять отдельные ошибки модели. Для получения дополнительной информации о том, как использовать аннотации данных, я настоятельно рекомендую этот пост от Скотта ГУ .


  Сведения об ответе

P_S_S

14:16, 23rd August, 2020

Как AJAX обрабатывается при переполнении стека? Делает ли это JQuery?

  • Щелкните правой кнопкой мыши на странице
  • Найдите во всплывающем меню пункт "Просмотр источника страницы".
  • Щелкнуть его :-)


  Сведения об ответе

prince

21:06, 1st October, 2020

Дейл Раган писал::

Вы не можете использовать элементы управления AjaxToolKit в ASP.NET MVC

Как AJAX обрабатывается при переполнении стека? Делает ли это JQuery? В своем посте ужасов кодирования Secrets Of The JavaScript Ninjas Джефф писал об использовании JQuery при написании Stack Overflow.

Конечно же, они не закодировали его вручную. Я сделал это однажды со всеми XMLHttpRequest JavaScript, когда термин "AJAX" был популяризирован около 2005 года. Это был настоящий кошмар.


  Сведения об ответе

Chhiki

01:29, 29th August, 2020

@ Chuck - не беспокойтесь. Именно для этого и существует SO. Вы что-то узнаете, и человек, задающий вопрос, что-то узнает.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться