Javascript validate在焦点离开时抛出异常。说:";检查';依赖';方法“;
我正在使用jquery.validate插件进行jquery表单验证。只有选中单选按钮(在本例中为“Hey yo”)时,才需要一个文本字段(名称:“yo_text”) 现在jQuery可以告诉you文本取决于选择“Hey-yo”,但每次you文本模糊且不是空的时候都会出现错误。如果之前的检查表明文本字段无效(即yo_文本为空),则文本字段中的错误消息也不会消失 错误:Javascript validate在焦点离开时抛出异常。说:";检查';依赖';方法“;,javascript,jquery,forms,jquery-validate,Javascript,Jquery,Forms,Jquery Validate,我正在使用jquery.validate插件进行jquery表单验证。只有选中单选按钮(在本例中为“Hey yo”)时,才需要一个文本字段(名称:“yo_text”) 现在jQuery可以告诉you文本取决于选择“Hey-yo”,但每次you文本模糊且不是空的时候都会出现错误。如果之前的检查表明文本字段无效(即yo_文本为空),则文本字段中的错误消息也不会消失 错误: Uncaught TypeError:无法读取未定义的属性“call”。检查元素时发生异常,请检查“depends”方法。 我只
Uncaught TypeError:无法读取未定义的属性“call”。检查元素时发生异常,请检查“depends”方法。
我只是修改了代码表单.validate的示例(见下文),但现在出现了神秘的错误。我想不出问题出在哪里
因此,标记:
<form>
<div class="radio">
<label>
<input type="radio" name="selection" value="yo"> Hey Yo
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="selection" value="ya"> Hey Ya
</label>
</div>
<input class="form-control" type="text" name="yo_text" placeholder="Enter if yo">
<button type="submit" class="btn btn-primary">Submit</button>
</form>
我在中修改的示例:
和一个JSFIDLE供参考:
提前谢谢你的帮助 您的函数
isYo
中有一个问题,我认为它应该返回一个不正确的布尔值。在您的情况下,它将返回元素。此外,还对验证中的一些修改进行了验证
谢谢这管用!也找到了解决方案的后半部分。
var form = $('form');
function isYo() {
return form.find('input[type="radio"][name="selection"][value="yo"]')
}
form.validate({
rules: {
selection: 'required'
, yo_text: {
required: true,
depends: isYo
}
}
});
$("#myform").validate({
rules: {
contact: {
required: true,
email: {
depends: function(element) {
return $("#contactform_email").is(":checked");
}
}
}
}
});
var form = $('form');
function isYo() {
return $('input[type="radio"][name="selection"][value="yo"]').is(':checked');
}
form.validate({
rules: {
"yo_text": {
required: {
param:true,
depends: isYo
}
}
},
submitHandler: function () {
alert('Ho hey')
event.preventDefault();
return false;
}
});