Precisa retornar verdadeiro ou falso com base no IF Value no campo de texto é um número específico

StackOverflow https://stackoverflow.com/questions/3415951

Pergunta

Estou procurando retornar verdadeiro se o usuário inserir 4 no 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" />

Adicionado isso ao arquivo JS da língua inglesa:

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

Isso deve ficar bem, deixe -me saber o que você acha que está errado.

Foi útil?

Solução

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

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

EDIT: Moogoo está correto, eu estava enganado até minha explicação.

No entanto, é a ideia de usar +Val provavelmente não é a melhor. Embora o método acima funcione, pois você precisa de uma solução muito melhor seria a seguinte:

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

A razão pela qual queremos -0 em vez de +0 é simplesmente porque, se for uma string e você deseja executar quaisquer operações adicionais, caso seja, você não terá mais a string original.

Outras dicas

Se você deseja permitir outros personagens e retornar verdadeiro apenas se o texto do campo de entrada contiver 4, você deve fazer assim: em vez disso:

if($("#validateAddition").val().indexOf('4') != -1) {

Faria com que o Sence compare o valor com uma string, pois o valor é uma string. Isso permite que você use rigorosos iguais, evitando conversões automáticas desnecessárias. Além disso, você pode simplificar a função.

function validateAddition() {
  return $("#validateAddition").val() === "4";
}

Você pode colocar sua validação no arquivo de idiomas, parecendo algo assim


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


Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top