问题描述
|
现在,我已经有了验证插件来显示带有两个背景图像之一的标签,具体取决于该字段是否有效。但是,错误文本仍插入到“无效”标签中(默认情况下,“有效”标签没有任何错误消息)。
我想删除显示在“无效”错误标签上的文本,并将其放置在标签内作为属性值。这样,我可以使用工具提示插件将其显示为鼠标悬停时的工具提示。
问题是,我不知道该怎么做。
我知道我必须“拦截”消息验证器选项中的错误消息以阻止它们出现。该选项可以为给定要求提供函数,该函数返回错误字符串(我将其设置为\“ \ ”)。但是(据我所知),我无法从那里访问错误标签对象来将消息作为属性插入。该选项的描述指出该函数将\“ the element \”作为第二个参数,但是我不确定这是否意味着DOM元素或JQuery.val规则元素:
讯息:
定义自定义的键/值对
消息。键是名称
元素,重视要显示的消息
而不是简单的
向其他地图发送具体的消息
可以使用每个规则的消息。
覆盖的标题属性
元素或默认消息
方法(按此顺序)。每条消息
可以是字符串或回调。的
回调在
验证者和规则的
参数作为第一个和
元素作为第二种装饰,它
必须返回一个字符串以显示为
信息。
我以为这是字段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,\"Not valid email\"); return \"\";}
}
},success: \"valid\"
...
...
但是由于某种原因,它操纵了成功验证器选项,我用它来选择要显示的背景图像。因此,它标明了不应该做的事情。
我只是想知道这是否是正确的方法,或者是否有更简单的方法
解决方法
好的,我找出了问题所在。看来,如果您提交一个空字符串(\“ \”)作为元素的消息,则插件将使用该字符串表示该字段有效。因此,只要您返回\“ \”或\'\'以外的任何内容(我最终返回的是\“ \\ 0 \”,这不是可打印的字符),您就可以执行该函数内的操作。