gpt4 book ai didi

jquery - 无法在 jQuery 验证引擎中指定自定义错误

转载 作者:行者123 更新时间:2023-12-01 01:01:57 26 4
gpt4 key购买 nike

我正在摆弄记录在案的 jQuery 验证引擎 here

我已将所有 JS 文件下载到本地。并创建了一个简单的表单,其中包含单个必需的文本框字段。

问题1

我无法为此必需的规则指定自定义错误(即使我已指定自定义错误消息选项)。相反,它显示默认消息“此字段是必填的”。我在 git 上的示例(显示 here )的帮助下编写了这段代码,但它不起作用。哪里出错了请指出。 (我想使用 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 plugin 实现。如下:

            $("#register-form").validate({                rules: {                    firstname: "required",                    lastname: "required",                    email: {                        required: true,                        email: true                    },                    password: {                        required: true,                        minlength: 5                    },                    agree: "required"                },                messages: {                    firstname: "Please enter your firstname",                    lastname: "Please enter your lastname",                    password: {                        required: "Please provide a password",                        minlength: "Your password must be at least 5 characters long"                    },                    email: "Please enter a valid email address",                    agree: "Please accept our policy"                },                submitHandler: function(form) {                    form.submit();                }            });

这可以通过 jQuery 验证引擎实现吗?

最佳答案

是的,这是可能的:link

示例:

<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(...

自 jQuery 1.9 起,live 已被删除

编辑:

你犯了一个小错误:

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

# 应该在那里:

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

关于jquery - 无法在 jQuery 验证引擎中指定自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14852312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com