Как использовать проверку на стороне сервера с постом AJAX? - PullRequest
1 голос
/ 19 июня 2010

В своем блоге Скотт Гатри описывает, как включить проверку с использованием DataAnnotations .

Пример:

public class Product
{
    [Display(Name="Product Number")]
    [Range(0, 5000)]
    public int ProductID { get; set; }

    [Display(Name="Name")]
    [Required]
    public string ProductName { get; set; }

    [Display(Name="Price")]
    [DataType(DataType.Currency)]
    public double ListPrice { get; set; }
}

В комментариях к этому сообщению в блоге @Ke писал:

Как проверки на стороне сервера работают с постом ajax? то есть, как я могу отправить ошибки проверки клиенту?

Скотт ответил:

Да, вы можете справиться с этим. Я полагаю, что Фил Хаак в скором времени включит его в свой блог.

Я не могу найти этот пост в блоге. Как объединить проверку на стороне сервера с публикацией AJAX?

Наилучшие варианты, которые я видел, заключаются в использовании партиалов для отправки формы клиенту. Я бы предпочел использовать клиентский Javascript для включения сообщений об ошибках.

1 Ответ

0 голосов
/ 19 июня 2010

Способ проверки аннотации данных работает путем применения специальных классов css к полям, содержащим ошибки, и сообщения об ошибках показываются помощниками html, которые генерируют соответствующие div.Так что, действительно, лучшим вариантом будет вернуть частичное представление, содержащее форму, позволяющую вам показывать сообщения об ошибках.

Если вы хотите вместо этого использовать JSON или XML, вам придется вручную передавать ошибки проверки в структуре ответа и обрабатывать их вручную, используя JavaScript в обратном вызове успеха.Что касается проверки на стороне клиента, она будет работать, потому что форма не будет отправлена ​​(с использованием ajax или нет), если проверка не пройдена.

...