我正在摆弄记录在here
的jQuery验证引擎我已在本地下载了所有JS文件。并创建了一个包含单个必需文本框字段的简单表单。
问题1
我无法为此必需规则指定自定义错误(即使我已指定custom-error-message选项)。相反,它显示默认消息“此字段是必需的”。我已经在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 Validation引擎。
答案 0 :(得分:5)
是的,有可能: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(...
live已从jQuery 1.9中删除
修改强>
你犯了一个小错误:<input id="**#**username" type="text" class="validate[required]" ></input> <br />
#应该在那里:
<input id="username" type="text" class="validate[required]" ></input> <br/>