我有一些<select>使用所选插件的输入,我想在客户端验证为"必需".由于"selected"隐藏了实际的select元素并创建了一个包含div和spans的小部件,因此本机HTML5验证似乎无法正常工作.表单将不会提交(这是好的),但错误消息未显示,因此用户不知道什么是错的(这不好).
我已经转向jQuery验证插件(我计划最终使用它)但到目前为止还没有任何运气.这是我的测试用例:
<form>
<label>Name: <input name="test1" required></label>
<label>Favorite Color:
<select name="test2" required>
<option value=""></option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
</label>
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function(){
$('select').chosen();
$('form').validate();
});
Run Code Online (Sandbox Code Playgroud)
这样可以select使用空值,而无需验证或显示错误消息.当我注释掉这chosen()条线时,它运行正常.
如何chosen()使用jQuery验证插件验证输入,并显示无效的错误消息?
我阅读了关于jQuery验证器的回复,其中概述了一种根据数据库中的值检查用户名的方法.
我已经尝试过实现这个方法,但无论从PHP文件返回什么,我总是得到用户名已被取消的消息.
这是自定义方法......
$.validator.addMethod("uniqueUserName", function(value, element) {
$.ajax({
type: "POST",
url: "php/get_save_status.php",
data: "checkUsername="+value,
dataType:"html",
success: function(msg)
{
// if the user exists, it returns a string "true"
if(msg == "true")
return false; // already exists
return true; // username is free to use
}
})}, "Username is Already Taken");
Run Code Online (Sandbox Code Playgroud)
这是验证码...
username: {
required: true,
uniqueUserName: true
},
Run Code Online (Sandbox Code Playgroud)
是否有一种特定的方式我应该从PHP返回消息.
谢谢
一个
主要问题
我是jQuery validate插件的新手.我需要验证动态添加和删除的隐藏字段以及共享相同名称的字段.示例标记:
<input type="hidden" name="hdnItemID" value="123" />
<input type="hidden" name="hdnItemID" value="987" />
Run Code Online (Sandbox Code Playgroud)
基本上,我需要知道是否存在任何具有该名称的元素hdnItemID.如果它们存在,则验证应该成功,否则验证应该失败.
if($("input[name='hdnItemID']").length > 0) {
//Form is valid
}
else {
//Form is invalid
}
Run Code Online (Sandbox Code Playgroud)
我看了几个似乎很接近的问题,但它们似乎不符合要求.有什么建议?
次要问题
假设我问的是可能的,我如何指定验证消息的显示位置?目前,我在验证失败时按每个必需元素放置一个星号.我想继续这样做,但是通过提交按钮放置隐藏字段的验证消息.
我正在尝试排除故障并修复我的电子邮件验证无法正常工作的原因.假设检测到无效的电子邮件:它有太多......(点),除了欧洲地址(test@tom.uk.tk)以及test@aol.com之外.但是现在它除了一个点外,如果只要你没有添加(.)点就没有完成打字,只要它有@.有人请帮我解决我的错误吗?
<script>
$("#form").validate({
rules: {
firstname_1: {
required: true
},
email_1: {
required: true,
email: true
},
// Same for other fields
},
messages: {
firstname_1: "This field is required.",
email_1>: "Please enter valid email address.",
// Repeat for other fields
}
});
function isValidEmail(email_1)
{
return /^[a-z0-9]+([-._][a-z0-9]+)*@([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,4}$/.test(email_1)
&& /^(?=.{1,64}@.{4,64}$)(?=.{6,100}$).*/.test(email_1);
}
</script>
Run Code Online (Sandbox Code Playgroud) 我需要在 datepicker 上添加自定义验证,就像我们通过在 javascript 中添加规则来添加自定义验证一样,就像这里的 - jQuery 验证插件 - 如何创建简单的自定义规则?
但在同一元素上添加一个自定义验证器之前,我需要验证是否存在另一种规则/验证器方法。
我该如何检查?我知道我可以获得所有规则,例如 -
var rules = $(element).rules();
Run Code Online (Sandbox Code Playgroud) 我的表格如下
<div id="new_image" title="Add Image">
<form id="new_image_form" action="/reg_new_img" method="POST" enctype="multipart/form-data">
<table width="0" border="0" cellspacing="0" cellpadding="6" class="table100">
<span class="astrix"></span>
<tr>
<td class="td30">Description of the Image:</td>
<td>
<input name="desc" type="text" value="" />
</td>
</tr>
<tr>
<td></td>
<td>
<input id="atag" type="hidden" name="atag" value="">
</textarea>
</td>
</tr>
<tr>
<tr>
<td>Files / Image:
<p class="text5">X-ray / Site / Document / Agreement etc.</p>
</td>
<td>
<input name="image" type="file">
</td>
</tr>
</table>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
脚本如下.
$(document).ready(function () {
$("#new_image").dialog({
height: $("#new_image").height() + 150,
width: $("#new_image").width() - 450, …Run Code Online (Sandbox Code Playgroud) 我的问题我在页面中有上述表格.我想使用jquery验证引擎验证表单.您可以告诉我如何验证它以及要包含的文件.现在,我已经将jquery验证引擎包含在我的脑海中.我只是想知道如何触发验证引擎并显示文本字段的错误消息onblur ..非常感谢提前.请在下面找到我的代码:
<script src="../js/jquery-1.6.min.js" type="text/javascript"></script>
<script src="scripts/jquery.validationEngine-en.js" type="text/javascript" charset="utf-8"></script>
<script src="scripts/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
// binds form submission and fields to the validation engine
$('#myForm').validationEngine('validate');
});
</script>
<form class="container" id="myForm" method="post" action="">
<div>
<span>Field is required : </span>
<label for="Firstname">Firstname</label>
<input type="text" class="validate[required] text-input" id="name" name="Firstname"/>
</div>
<div>
<span>Field is required : </span>
<label for="name">middlename</label>
<input type="text" id="name" name="middlename" class="validate[required] text-input"/>
</div>
<div>
<span>Field is required : </span>
<label for="name">lastname</label>
<input type="text" id="name" name="lastname" class="validate[required] text-input"/>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)