3

我正在摆弄此处记录的 jQuery 验证引擎

我已经在本地下载了所有的 JS 文件。并创建了一个带有单个必需文本框字段的简单表单。

问题 1

我无法为此必需规则指定自定义错误(即使我已指定自定义错误消息选项)。相反,它显示默认消息“此字段是必需的”。我已经在 git 上的示例(此处显示)的帮助下编写了此代码,但它不起作用。请指出哪里出错了。(我想使用 JS 对象文字而不是使用等效的 html5 属性。)

我的代码:

<html>
<head>      
    <script type="text/javascript" src="scripts/jquery-1.9.0.min.js"></script>      
    <script type="text/javascript" src="scripts/jquery.validationEngine-en.js"></script>        
    <script type="text/javascript" src="scripts/jquery.validationEngine.js"> </script>      
    <link type="text/css" rel="stylesheet"  href="styles/validationEngine.jquery.css"  />   
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    <script type="text/javascript">
            $(document).ready(function(){
                $("#form1").validationEngine({'custom_error_messages' : {                                
                            '#username':{
                                'required':{
                                    'message':"Hey you cannot leave this field blank."
                                }
                            }     
                        }
                    });                         
                });

    </script>
</head>
<body>
    <form id="form1">
        <br /><br />
        <h2>Form 1</h2>
        Username: <input id="#username" type="text" class="validate[required]" ></input> <br />     
    </form>
</body>
</html>

问题 2

如何指定要应用于 JS 中的哪个元素的规则,而不是在 html 中指定类值。我宁愿拥有干净不显眼的 html,而不是在 html 中混合验证特定的东西。这可以通过jQuery Validation 插件实现,如下所示:

            $("#register-form").validate({
                规则:{
                    名字:“必填”,
                    姓氏:“必填”,
                    电子邮件: {
                        要求:真,
                        电子邮件:真实
                    },
                    密码: {
                        要求:真,
                        最小长度:5
                    },
                    同意:“需要”
                },
                消息:{
                    firstname: "请输入您的名字",
                    lastname: "请输入您的姓氏",
                    密码: {
                        required: "请提供密码",
                        minlength: "您的密码长度必须至少为 5 个字符"
                    },
                    email: "请输入有效的电子邮件地址",
                    同意:“请接受我们的政策”
                },
                提交处理程序:函数(表单){
                    form.submit();
                }
            });

jQuery Validation 引擎可以做到这一点吗?

4

1 回答 1

5

是的,有可能:链接

例子:

<input type="email" name="email" id="email" data-validation-engine="validate[required,custom[email]]"
    data-errormessage-value-missing="Email is required!" 
    data-errormessage-custom-error="Let me give you a hint: someone@nowhere.com" 
    data-errormessage="This is the fall-back error message."/>

另请注意,由于 JQuery 1.9 过去版本中的许多功能现在已被删除或弃用,并且几天前添加了修复,因此您可能需要下载最新版本:jQuery.validationEngine v2.6.1

编辑 不知道他们是否更正了它,但在 .js 文件中替换

line28 : .live(...

经过

line 28 : .on(...

live 自 jQuery 1.9 起已被移除

编辑:

你犯了一个小错误:

<input id="**#**username" type="text" class="validate[required]" ></input> <br />

#应该在那里:

<input id="username" type="text" class="validate[required]" ></input> <br/>  
于 2013-02-14T19:12:32.677 回答