2012-09-03 89 views
1

我在使jQuery bassassistance验证插件工作时遇到了一些问题。首先,我会告诉你正在开发的网站。 Development site。我在中国的ESL老师这样的网站在中国,要找到问题区域:jQuery验证混淆

  • 有在页面的左上角两个按键,点击第一个
  • 阿贾克斯后请求完成后会弹出一个模式对话框,登录表单

这里的麻烦在于。简而言之,我无法使验证插件正常工作。一些额外的验证方法已经定义,并且萤火虫告诉我他们被加载到对象罚款;即使我将规则设置为需要它仍然没有返回,甚至没有错误。我可以使用控制台来调用验证,它可以工作,但是除了返回对象之外,没有任何反馈。这个问题真的有我抓我的头

操作的simplifed时间表这样的流:

  1. 当一个页面被调用时,一个类型设置,在这种情况下形式
  2. 的请求,以取得返回xml的服务器
  3. 任何额外的样式表和脚本文件都会下载并注入。 #作品#
  4. 验证规则以json形式存储在我的pagecontroller类中的xml节点中。帖子结尾处的示例。这种反应是浏览器安全,目前转换中的一个对象
  5. 该对话框弹出后起来的形式注入,一个函数调用formentities连接被称为#工程#
  6. 这个函数的最后一部分是安装验证功能的形式,它使用从服务器

    /* Attach validation to the button class used for submit*/ 
    $(".form-submit").live("click", function(event){ 
        event.preventDefault(); 
        event.stopImmediatePropagation(); 
        /* Perform the actual validation */ 
        $("#"+params.strFormName).validate({ 
         /* As defined from ajax call */ 
         rules: params.objValidation, 
         /* Custom function to prevent default send */ 
         submitHandler: function(form) { 
         /* Now the form has passed script validation, set it as inactive */ 
         var strFormName = form.id; 
         params.strRequestType = "formresponse"; 
         params.strRequestMethod = "POST"; 
         params.strRequestURL = $("#"+strFormName).attr("action") + '&ajax_type=formresponse'; 
         params.strRequestParameters = $("#"+strFormName).serialize(); 
         methods.requestpage(); 
         } 
        });     
    }); 
    

任何指针将不胜感激发回的规则。感谢您阅读此问题

+0

您的链接返回HTTP错误500(内部服务器错误) –

+0

aayaah,我觉得这样的傻瓜!这个问题实际上是重复的,可以删除,道歉的时间。 正如在[这个问题] [1]中指出的,验证者需要先设置... [1]:http://stackoverflow.com/questions/6948821/jquery-submit-validate-problem ?rq = 1 – Symbal

+0

@FAngel感谢您检查链接,我没有在这里得到500,但会检查每一个裂缝,以确保。这个问题是在另一个埋葬的帖子回答*害羞* – Symbal

回答

0

如果您重新订购代码然后致电valid方法,该怎么办?

// You need to create the validation object first and initialize it. 
$("#"+params.strFormName).validate({ // This method doesn't "validate" it instantiates. 
     /* As defined from ajax call */ 
     rules: params.objValidation, 
     /* Custom function to prevent default send */ 
     submitHandler: function(form) { 
     /* Now the form has passed script validation, set it as inactive */ 
     var strFormName = form.id; 
     params.strRequestType = "formresponse"; 
     params.strRequestMethod = "POST"; 
     params.strRequestURL = $("#"+strFormName).attr("action") + '&ajax_type=formresponse'; 
     params.strRequestParameters = $("#"+strFormName).serialize(); 
     methods.requestpage(); 
     } 
    });     

/* Attach validation to the button class used for submit*/ 
$(".form-submit").live("click", function(event){ 
    event.preventDefault(); 
    event.stopImmediatePropagation(); 
    /* Perform the actual validation */ 
    $("#"+params.strFormName).valid(); // Call the valid method here to see check if form is valid 
}); 

documentation没有坏处。

+0

这打击了头部的指甲,谢谢你花时间调查:) – Symbal