Как я могу на самом деле использовать удаленную проверку JQuery Validation в ASP.NET Web Forms - PullRequest
3 голосов
/ 13 июля 2010

Я искал повсюду, и я не могу найти надежного примера.

Кто-нибудь делает это?Может ли кто-нибудь предоставить и пример вызова удаленной проверки с помощью плагина проверки JQuery через WebMethod на странице aspx (веб-формы)?

Ответы [ 2 ]

3 голосов
/ 19 июля 2010

Я думаю, что причина того, что код дает вам плохой вкус, в том, что писать json в виде строк довольно вонючее.Одним небольшим улучшением будет создание реального объекта JSON, а затем использование функции JSON.stringify (...).

Создание переменной с вашим объектом json, это дает вам проверку синтаксиса во время разработки и выполнения

var customerInput = {"customerToAssignTo":$("#customerToAssignTo").val()};
var serializedCustomerInput = JSON.stringify(customerInput );

тогда вы можете заменить строку

data: "{'customerToAssignTo':'" + $("#customerToAssignTo").val() + "'}"

на

data: serializedCustomerInput

, вам нужно будет включить https://github.com/douglascrockford/JSON-js/blob/master/json2.js

больше информации:

http://www.json.org/js.html

http://msdn.microsoft.com/en-us/library/cc836459(VS.85).aspx - это в контексте сценариев Windows, но дает хорошее описание функции

1 голос
/ 13 июля 2010

Так же, как я отправил это, я нашел способ, который работает, но мне действительно не нравится это.Это очень громоздко и требует создания собственного Json, что не кажется хорошим решением.

var validated = $("#aspnetForm").validate(
    {
        rules:
        {
            customersToReassign:
            {
                required: true
            },
            customerToAssignTo:
            {
                required: true,
                remote: 
                {
                    url: window.location + "/IsValidCustomer",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    data: "{'customerToAssignTo':'" + $("#customerToAssignTo").val() + "'}"
                }
            }
        },
...