【问题标题】:Null error when using JQuery Validation with JSON AJAX使用带有 JSON AJAX 的 JQuery 验证时出现空错误
【发布时间】:2009-07-14 16:30:10
【问题描述】:

我正在为我的页面使用 JQuery Validation 插件和 Ajax。当我将所有内容都留空时,验证工作正常。如果我输入 SKU 字段(使用 AJAX 的字段)以外的字段,它也可以正常工作。当我在 SKU 输入中输入某些内容但在其他输入中没有输入时,我遇到了问题。当我这样做时,我收到一个错误:“错误:'$.validator.methods[...]' is null or not an object”,然后它将表单提交给服务器:-P

我已经到处寻求帮助来解决这种情况,但我发现最多的是:http://forums.asp.net/t/1070825.aspx

任何帮助将不胜感激!

<asp:Content ID="Content3" ContentPlaceHolderID="CustomScriptContent" runat="server">
<script type="text/javascript" src="/Scripts/jquery.rte.js"></script>
<script type="text/javascript" src="/Scripts/jquery.rte.tb.js"></script>
<script type="text/javascript">        
    $.validator.addMethod("packageSKU", function(value) {
        $.getJSON("/JSONHelper/IsPackageSKUAvailable", "packageSKU=" + value, function(data) {
            return data;
        });
    }, 'Please enter a different SKU');

    $(document).ready(function() {
        $("#LongDescription").rte({
            height: 450,
            width: 960,
            controls_rte: rte_toolbar,
            controls_html: html_toolbar
        });
        $("#packageForm").validate({           
        rules: {
                UploadedImage: { accept: "jpg|gif|png" },
                SKU: {
                    remote: {
                        url: "/JSONHelper/IsPackageSKUAvailable",
                        type: "get",
                        data: {
                            packageSKU: function() {
                                return $("#SKU").val();
                            }
                        }
                    },
                    required: true,
                    minLength: 1,
                    maxLength: 30
                }
            },
            messages: {
                SKU: {
                    remote: "This SKU is already taken"
                }
            }
        });
    });

【问题讨论】:

  • 我遇到了完全相同的问题!

标签: jquery ajax json validation


【解决方案1】:

你的方法应该返回真或假。但是你的方法没有返回任何东西

function(value) {
        $.getJSON("/JSONHelper/IsPackageSKUAvailable", "packageSKU=" + value, function(data) {
            return data;
        });

您的 ajax 请求回调返回“数据”,但这无济于事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2012-12-09
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    相关资源
    最近更新 更多