jQuery 验证插件:如何创建自己的消息

Posted

技术标签:

【中文标题】jQuery 验证插件:如何创建自己的消息【英文标题】:jQuery validation plugin: How to create your own messages 【发布时间】:2010-12-24 09:52:59 【问题描述】:

我在 ubuntu 上使用带有 php 的 jquery 验证插件。

我正在对我的表单应用这样的验证:

$(obj).find("form").validate();

当我将“电子邮件”设置为任何文本字段的类并且我给它一个格式错误的电子邮件地址时,它会显示如下错误。

Please enter a valid email address.

问题: 上面的信息很长,并且损坏了我的表格和表格的对齐方式。我想使用这样的非常短的消息。

required
invalid email
invalid phone number
etc.

我已经尝试过了,但它显示的不是我自己的消息。

$(obj).find("form").validate(

        messages: 
            required: "Required.",
            email: "Invalid email",
            url: "Invalid URL."
        

    );

谁能告诉我该怎么做?具体代码是什么。 “消息”选项对我不起作用。谢谢

【问题讨论】:

【参考方案1】:

您的输入元素的名称是什么?查看消息对象中的键如何与input 元素的name 属性相关,而不是与类的名称相关。 这很关键

<form id="commentForm" method="get" action="">
    <fieldset>
        <input id="iname" name="nname" size="25" class="required" minlength="2" /><br />
        <input id="iemail" name="nemail" size="25"  class="required email" /><br />
        <input id="iurl" name="nurl" size="25"  class="url" /><br />
        <input class="submit" type="submit" value="Submit"/>
    </fieldset>
</form>

$(document).ready(function() 
    $("#commentForm").validate(
        messages: 
            nname: "Required",
            nemail: "Invalid email",
            ncomment: "Invalid URL"
        
    );
);

您还可以为不同的错误指定不同的消息

$("#commentForm").validate(
    messages: 
        nname: "Required",
        nemail: 
            required: "Email needed",
            email: "Invalid email"
        ,
        ncomment: "Invalid URL"
    

);

【讨论】:

完美。当使用“消息”选项时,真正的事情是字段的“名称”。我为此使用了课程,这是我的错误。谢谢。你的答案被接受:) 有没有人知道是否有办法在 html 属性中附加消息副本,例如 class="required"minlength="2"? message 选项的文档提示使用“title”属性,但这似乎不起作用。这是编写新 JS 所需的唯一常见选项,我正在尝试使用此插件来消除添加到给定站点的每个新表单的额外配置和设置。谢谢! @jozecuervo jsfiddle.net/nDNYP 但标题只能包含 1 条错误信息。使用标题,您不能针对不同的错误显示不同的消息【参考方案2】:

消息选项应该可以工作。看到这个question。

【讨论】:

问题已编辑:我正在使用问题中描述的消息选项,但它显示了自己的消息。你能告诉我确切的语法吗?谢谢 请查看链接的问题和接受的答案。可能 setDefaults 方法是最适合您的解决方案。

以上是关于jQuery 验证插件:如何创建自己的消息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JQuery 验证插件 addmethod() 中向服务器端发送异步 AJAX 调用

Jquery 验证插件。在字段失去焦点之前消息不可见

jquery验证插件不在rails中显示错误消息

使用 jQuery 验证插件显示自定义元素和内容

jQuery - 实时验证插件

使用 jQuery 验证插件自定义日期格式