テキストフィールドの値が特定の番号である場合に基づいてtrueまたはfalseを返すために必要
-
26-09-2019 - |
質問
私は、ユーザーが入力フィールドに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."}
これは、私はあなたが間違っていると思うものを知ってみましょう、問題ないはずです。
解決
http://www.w3schools.com/jsref/jsref_parseInt.aspする
return (parseInt($('#validateAddition').val()) == 4)
EDIT:。MooGooは、私はこれまで私の説明のように間違っていた、正しいです。
しかし+のvalを使用してのアイデアは、おそらく最高ではありません。
:あなたがはるかに優れたソリューションを必要として、次のようにWILL作業上記の方法は次のようになりますがif(($('#validateAddition').val()-0) == 4)
それは文字列であり、あなたが任意の追加の操作は、それがある包みなさい実行したい場合、あなたは、もはや元の文字列を持つことになりますのでます。 は+0とは対照的に、我々は-0たい理由は単純ではありません
他のヒント
あなたは同様に他の文字を許可し、入力フィールドのテキストは4が含まれている場合にのみtrueを返したい場合は、代わりに次のように行う必要があります:
if($("#validateAddition").val().indexOf('4') != -1) {
これは、値が文字列であるため、ローミングサービスは、文字列に値を比較することになるだろう。それはあなたが不要な自動変換を回避厳格な等号を使用することができます。また、あなたは、機能を簡素化することができます。
function validateAddition() {
return $("#validateAddition").val() === "4";
}
あなたはこのような何かを探して、言語ファイルであなたの検証を置くことができます。
"validateAddition": {
"regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
"alertText": "* Your math is off, try again."
},
所属していません StackOverflow