нужно возвращать true или false в зависимости от того, является ли значение в текстовом поле конкретным числом - PullRequest
0 голосов
/ 05 августа 2010

Я надеюсь вернуть true, если пользователь ввел 4 в поле ввода.

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 ]

1 голос
/ 05 августа 2010

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

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

РЕДАКТИРОВАТЬ: MooGoo правильно, я ошибся, насколько мое объяснение.

Однако идея использования + val, вероятно, не самая лучшая.Хотя описанный выше метод БУДЕТ работать так, как вам требуется, гораздо лучшее решение будет выглядеть следующим образом:

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

Причина, по которой мы хотим -0, а не +0, заключается просто в том, что если это строка и вы хотитедля выполнения каких-либо дополнительных операций, если это не так, у вас больше не будет исходной строки.

0 голосов
/ 09 июня 2011

Вы можете поместить свою проверку в языковой файл, похожий на этот


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


0 голосов
/ 05 августа 2010

Было бы целесообразно сравнить значение со строкой, поскольку значение является строкой. Это позволяет вам использовать строгие равенства, избегая ненужных автоматических преобразований. Также вы можете упростить функцию.

function validateAddition() {
  return $("#validateAddition").val() === "4";
}
0 голосов
/ 05 августа 2010

Если вы хотите разрешить и другие символы и возвращать true только если текст поля ввода содержит 4, вы должны сделать это вместо этого:

if($("#validateAddition").val().indexOf('4') != -1) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...