我正在尝试在validate plugin的答案中显示的div上使用this question:
<script type="text/javascript">
$("#pseudoForm").validate({
onfocusout:true,
rules:{
first_name:"required",
last_name:"required"
}
});
</script>
<!-- whatever -->
<div id="pseudoForm">
<input type="text" name="first_name"/>
<input type="text" name="last_name"/>
</div>
我拥有一张表格。
我在不同的浏览器上遇到了一堆不同的错误。
任何帮助表示赞赏!
答案 0 :(得分:54)
这不是你想听到的答案,但另一个答案是不正确的(它可能是正确的发布时,但从那时起已经有几个主要的jQuery验证插件更改)。
The validation plugin(目前)设计用于<form>
上的<form>
和 。您还可以注意到all of the plugin documentation引用了表单,而不是任何其他通用容器。
插件本身在内部跟踪validator.currentForm
,它指的是传入的选择器的this
,获取.elements
等等......这真的不起作用任何其他方式,而不是当前版本的编写方式。
此处的整体解决方案/替代方法:直接在<form>
元素(相反的jQuery包装器)上调用.validate()
,而不是任何其他容器。如果您不想验证输入字段,则可能需要使用<form>
中的ignore: ':hidden'
选项划分.validate()
使用<fieldset>
元素用户。
答案 1 :(得分:0)
你错过了一个结束括号。试试这个:
$("#pseudoForm").validate({
onfocusout:true,
rules:{
first_name:"required",
last_name:"required"
}
});
答案 2 :(得分:0)
如果按类
选择表单,则会出现相同的错误 $(".form_class").validate(...
而不是ID
$("#form_id").validate(...
或标签名称
$("form").validate(...
答案 3 :(得分:0)
打开jquery.validate.js
或jquery.validate.min.js
并找到(ctrl + F)“标签”和replaceAll
以及您所需的标记:
示例:div
然后执行验证。
答案 4 :(得分:0)
//HTML
<div class="form-group has-feedback col-xs-8 " style="padding-right:0px">
<input type="tel" class="form-control" name="Otp_MobileNo" id="mobileNo" placeholder="Mobile No." minlength="10" maxlength="10">
<span id="mobileno_message" style="display:none;color: red;">Please enter a valid Mobile No</span>
</div>
//Java Script
$("#getOtp").click(function(){
jQuery(document).ready(function(){
var MobileNo = jQuery("#mobileNo").val();
var MobileNoLength = MobileNo.length;
var zipRegex = /^\d{10}$/;
var mobileNo = $("#mobileNo").val();
if (!zipRegex.test(MobileNo))
{
jQuery('#mobileno_message').show();
}
else
{
// success!
jQuery('#mobileno_message').hide();
$.ajax({
type : 'POST',
url : '<?php echo site_url('Login/send_otp'); ?>',
data : {Otp_MobileNo:mobileNo,},
dataType : 'json',
beforeSend: function()
{
$("#error").fadeOut();
},
success : function(response)
{
alert(response.message_text);
$("#check-otp").delay().animate({
height: 'toggle',
},
"slow");
$("#getOtp").hide();
}
});
}
});
});