代码之家  ›  专栏  ›  技术社区  ›  CoffeeCode

jquery验证问题

  •  0
  • CoffeeCode  · 技术社区  · 16 年前

    为了自定义验证输入,我编写了一个脚本:

    function cardNumberCheck(value, element) {
            var res = false;
            $.get("/CaseHistories/ValidateCardNumber",
      { caseHistoryId: $('#CaseHistory_Id').val(), cardNumber: $('#CaseHistory_CardNumber').val() },
       function(data) { res = data });
          //alert(res) => works fine return true/false
            return res;
        }
    
        $.validator.addMethod("cardValidate",
     cardNumberCheck, "invalid");
    
    
        if ($('#CaseHistory_CardNumber').is("form *")) { //<= check if elem is in a form
            $('#CaseHistory_CardNumber').rules("add", {
                required: true,
                cardValidate: true,
                messages: {
                    required: "*",
                    cardValidate: "invalid"
                }
            });
        }
    

    编辑 所需的规则可以正常工作,但我的验证方法不会显示消息。
    即使元素数据没有通过cardNumberCheck验证,submit也可以工作

    1 回复  |  直到 16 年前
        1
  •  1
  •   Nick Craver    16 年前

    此部分:

    $.get("/CaseHistories/ValidateCardNumber",
      { caseHistoryId: $('#CaseHistory_Id').val(), 
        cardNumber: $('#CaseHistory_CardNumber').val() },
      function(data) { res = data });
        //alert(res) => works fine return true/false
        return res;
    }
    

    function cardNumberCheck(value, element) {
      var res;
      $.ajax({
        async: false,
        url: "/CaseHistories/ValidateCardNumber",
        data: { caseHistoryId: $('#CaseHistory_Id').val(), 
                cardNumber: $('#CaseHistory_CardNumber').val() },
        success: function(data) { res = data });
      }
      return res;
    }
    
    推荐文章