JQuery验证插件:如何使错误消息成为错误标签中的一个属性



现在我已经得到了验证插件,可以根据字段是否有效显示带有两个背景图像之一的标签。但是,错误文本仍然插入到&;not validate &;标签("有效";默认情况下,标签没有任何错误信息)。

我想删除显示在"not validate "错误标签,并将其作为属性的值放置在标签中。这样,我就可以使用工具提示插件在鼠标悬停时将其显示为工具提示。

问题是,我不知道该怎么做。

我知道我必须"拦截"在messages验证器选项中显示错误消息,以阻止它们出现。该选项可以接受给定需求的函数,该函数返回错误字符串(我将其设置为")。然而(据我所知),我无法从那里访问错误标签对象来插入消息作为属性。该选项的描述说明该函数接受"元素"。作为第二个参数,但我不确定这是指DOM元素还是JQuery。Val规则元素:

消息:

键/值对定义自定义消息。Key是an的名称元素,为要显示的消息赋值对于这个元素。而不是普通的消息另一个映射与特定的可以使用每个规则的消息。对象的title属性元素的默认消息方法(按此顺序)。每个消息可以是String或Callback。的类的作用域内调用回调验证器和规则的参数作为第一个和元素作为第二个参数,它必须返回一个字符串来显示消息。

我假设它是字段DOM元素,并尝试这样做:

 //#createAccount is the id for the form
 messages: {
               eMail: {
                   required: function(param,element){
                       $("#createAccount label[class="error"][for=" + element.getAttribute("name") + "]")
                       .attr("message","Required"); return "";},
                   email: function(param,element){
                       $("#createAccount label[class="error"][for=" + element.getAttribute("name") + "]")
                       .attr("message","Not valid email"); return "";}
                    }
           },
            success: "valid"
    ...
    ...

但是由于某种原因,它操纵了success验证器选项,我用它来选择要显示的背景图像。所以它标记了一些不应该有效的东西

我只是想知道这是正确的方式去做,或者如果有一个更简单的方法

好了,我知道哪里不对了。似乎如果您提交一个空字符串(")作为元素的消息,插件将认为这意味着该字段是有效的。所以你可以在函数内部做你必须做的事情,只要你返回的不是"或"(我最后返回的是"",这不是一个可打印的字符)

相关内容

  • 没有找到相关文章

最新更新