gpt4 book ai didi

javascript - jQuery 验证自定义方法不起作用

转载 作者:行者123 更新时间:2023-11-30 23:52:12 24 4
gpt4 key购买 nike

我在 jQuery 验证器上添加了一个像这样的方法

    $.validator.addMethod(
'myEqual',
function (value, element) {
return value == element.value; // this one here didn't work
},
'Please enter a greater year!'
);

$.metadata.setType("attr", "validate");

$("#educationForm").validate({
showErrors: function(errorMap, errorList) {
this.defaultShowErrors();
},
errorPlacement: function(error, element) {
error.appendTo( element.parent("td").next("td") );
},
/*success: function(label) {
label.text("ok!").addClass("success");
},*/
rules: {
txt_end: {
required: true,
myEqual: "#txt_begin"
}
},
submitHandler: function() {}
});

表格看起来像这样

<div id="wrapper_form">
<form id="educationForm" name="educationForm" method="post" action="">
<table width="500" border="0">
<tr>
<td width="100">Period:</td>
<td width="200"><input type="text" name="txt_begin" id="txt_begin" size="8" maxlength="4" class="required year ui-widget-content ui-corner-all" />&nbsp;to&nbsp;
<input type="text" name="txt_end" id="txt_end" size="8" maxlength="4" class="required year ui-widget-content ui-corner-all" /></td>
<td width="200"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="btn_submit" id="btn_submit" value="Submit" class="ui-button ui-state-default ui-corner-all" />
<input type="button" name="btn_cancel" id="btn_cancel" value="Cancel" class="ui-button ui-state-default ui-corner-all" />
</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</div>

但是为什么我添加的自定义方法不起作用?

return value == element.value; // this one here didn't work

对于任何值它总是返回 true我在这里错过了什么吗?我没有使用内置方法,因为稍后在表单中我需要编写另一个方法来检查大于或等于和小于或等于(“>=”和“<=”)我已经用大于或等于和小于或等于测试了此方法,方法是将“==”替换为“">=”或“<=”也没有用

最佳答案

阅读您的代码,我发现使用您的自定义方法,您正在尝试比较两个文本输入,您正在向验证器传递一个参数:myEqual:“#txt_begin”

为此,您必须处理addMethod回调函数的第三个参数。 :

$.validator.addMethod('myEqual', function (value, element, param){// param will
return value == $(param).val(); // have
}, 'Message'); // "#txt_begin"

关于javascript - jQuery 验证自定义方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1169012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com