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

他の文字も許可し、入力フィールドのテキストに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 に答える
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 に答える