我如何在ASP.NET Web窗体中实际使用JQuery验证远程验证

时间:2010-07-13 04:02:58

标签: jquery asp.net webforms jquery-validate

我到处搜寻,似乎无法找到一个可靠的例子。

有人这样做吗?任何人都可以提供通过aspx页面(Web窗体)中的WebMethod使用JQuery验证插件调用远程验证的示例吗?

2 个答案:

答案 0 :(得分:3)

我认为代码给你带来不好品味的原因是因为将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 :(得分:1)

正如我发布的那样,我发现了一种有效的方法,但我真的不喜欢它。 这非常麻烦,需要构建自己的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() + "'}"
                }
            }
        },