gpt4 book ai didi

javascript - 函数结果不显示错误文本

转载 作者:行者123 更新时间:2023-11-28 04:21:25 25 4
gpt4 key购买 nike

我之前已经在其他页面上成功使用过该定义。基本上,它应该使该字段成为必填字段,但如果仅输入空格,则会失败(默认情况下输入,即单个空格会导致所需的检查通过)。我抛出一个警报只是为了查看处理程序何时被触发以及当时 this 的值。它在我期望的时候被触发,并且值正如我期望的那样。它应该返回 false 但显然不是,因为错误没有被显示。如果我删除该 depends 函数并仅使用 required: true,则当用户离开该字段时,它会正确显示错误。这是怎么回事?

ContactName: {
required: {
depends: function() {
alert("'" + $(this).val() + "'");
if ($.trim($(this).val()).length === 0) {
$(this).val($.trim($(this).val()));
return false;
}
return true;
}
},
maxlength: 100
}

最佳答案

您可以更改 ContactName 的规则,例如(有关详细信息,请查看 rules examples ):

ContactName: {
required: true,
minlength: {
depends: function(ele) {
if (ele.value.trim().length === 0) {
ele.value = '';
return false;
}
return true;
}
},
maxlength: 100
}

代码片段:

$("#commentForm").validate({
rules: {
ContactName: {
required: true,
minlength: {
depends: function(ele) {
if (ele.value.trim().length === 0) {
ele.value = '';
return false;
}
return true;
}
},
maxlength: 100
}
},
messages: {
ContactName: "Please enter your contact name"
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>


<form class="cmxform" id="commentForm" method="get" action="">
<fieldset>
<p>
<label for="ContactName">Name</label>
<input id="ContactName" name="ContactName" type="text">
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>

关于javascript - 函数结果不显示错误文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404218/

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