0

如果用户在输入字段中输入 4,我希望返回 true。

function validateAddition() {
  if($("#validateAddition").val() == 4) {
    return true;
  } else {
    return false;
  }
}

<input value="" 
class="validate[required,onlyNumber,length[0,1]funcCall[validateAddition]] text-input" 
type="text" id="validateAddition" name="validateAddition" />

将此添加到英语 js 文件中:

"validateAddition":{
    "nname":"validateAddition",
    "alertText":"* Your math is off, try again."}

这应该没问题,让我知道你的想法是错的。

4

4 回答 4

1

http://www.w3schools.com/jsref/jsref_parseInt.asp

return (parseInt($('#validateAddition').val()) == 4)

编辑: MooGoo 是正确的,我的解释是错误的。

然而,使用 +val 的想法可能不是最好的。虽然上述方法将在您需要更好的解决方案时起作用,但如下所示:

if(($('#validateAddition').val()-0) == 4)

我们想要 -0 而不是 +0 的原因仅仅是因为如果它是一个字符串并且您想要执行任何额外的操作以防万一,您将不再拥有原始字符串。

于 2010-08-05T14:57:08.163 回答
0

您可以将验证放在语言文件中,看起来像这样


"validateAddition": {
    "regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
    "alertText": "* Your math is off, try again."
},


于 2011-06-09T11:03:56.853 回答
0

如果您还想允许其他字符并且仅当输入字段的文本包含 4 时才返回 true,您应该这样做:

if($("#validateAddition").val().indexOf('4') != -1) {
于 2010-08-05T14:54:07.053 回答
0

将值与字符串进行比较是有意义的,因为该值是一个字符串。这允许您使用严格的等于避免不必要的自动转换。您还可以简化功能。

function validateAddition() {
  return $("#validateAddition").val() === "4";
}
于 2010-08-05T14:59:52.587 回答