Mah*_*aha 3 jquery jquery-validation-engine
我正在摆弄这里记录的jQuery验证引擎
我已在本地下载了所有JS文件.并创建了一个包含单个必需文本框字段的简单表单.
问题1
我无法为此必需规则指定自定义错误(即使我已指定custom-error-message选项).相反,它显示默认消息"此字段是必需的".我写了这个代码示例(所示的帮助下在这里)的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>
Run Code Online (Sandbox Code Playgroud)
问题2
如何指定应用于JS中哪个元素的规则,而不是在html中指定类值.我宁愿使用干净的不显眼的HTML,而不是在HTML中混合验证特定的东西.这可以通过jQuery Validation插件实现,如下所示:
$("#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引擎.
是的,有可能:链接
例如:
<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."/>
Run Code Online (Sandbox Code Playgroud)
另请注意,由于JQuery 1.9现在删除或弃用了许多在过去版本中运行的函数,并且在几天前添加了修复程序,因此您可能需要下载最新版本:jQuery.validationEngine v2.6.1
编辑 不知道他们是否已更正,但在.js文件中替换
line28 : .live(...
Run Code Online (Sandbox Code Playgroud)
通过
line 28 : .on(...
Run Code Online (Sandbox Code Playgroud)
live已从jQuery 1.9中删除
编辑:
你犯了一个小错误:
<input id="**#**username" type="text" class="validate[required]" ></input> <br />
Run Code Online (Sandbox Code Playgroud)
在#应该有:
<input id="username" type="text" class="validate[required]" ></input> <br/>
Run Code Online (Sandbox Code Playgroud)