necesidad de volver verdadero o falso sobre la base de si el valor en el campo de texto es un número específico
-
26-09-2019 - |
Pregunta
Busco a devolver verdadero si el usuario introduce 4 en el campo de entrada.
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" />
añadido este archivo en el idioma Inglés JS:
"validateAddition":{
"nname":"validateAddition",
"alertText":"* Your math is off, try again."}
Esto debe estar bien, que me haga saber lo que usted piensa que está mal.
Solución
http://www.w3schools.com/jsref/jsref_parseInt.asp
return (parseInt($('#validateAddition').val()) == 4)
EDIT: MooGoo es correcto, que estaba equivocado en cuanto a mi explicación
.Sin embargo es idea de usar + val probablemente no es la mejor. Mientras que el método anterior trabajo será a medida que requiere una solución mucho mejor sería la siguiente:
if(($('#validateAddition').val()-0) == 4)
La razón queremos -0 en contraposición a 0 es simplemente porque si se trata de una cadena y se desea realizar ninguna operación adicional en caso que se trata, que ya no tendrá la cadena original.
Otros consejos
Si desea permitir que otros personajes, así y volver cierto sólo si el texto del campo de entrada contiene 4, que debe hacer esta forma:
if($("#validateAddition").val().indexOf('4') != -1) {
No tendría SENCE para comparar el valor en una cadena, ya que el valor es una cadena. Eso le permite utilizar iguales estrictos evitando conversiones automáticas innecesarias. También puede simplificar la función.
function validateAddition() {
return $("#validateAddition").val() === "4";
}
Se puede poner su validación en el archivo de idioma, buscando algo como esto
"validateAddition": {
"regex": /[0-3]|[5-9]/,//something that matches on all numbers but four
"alertText": "* Your math is off, try again."
},