2013-03-22 3 views
0

с помощью JQuery, на sublit нужно проверить значение текстового поля и бросить ошибку, если она содержит алфавиты, специальные символы или цифры менее 20JQuery проверки специального Charaters

код:

<input type="text" class="input-text-bx" id="actual" value=""> 
      <input type="submit" id="real" value="submit"/> 

Я пытался с jquery 1.3 без нажатия кнопки отправки. Мне нужен последний с $ on submit.

Query(function(){ 

      jQuery('.input-text-bx').validate({ 
       expression: "if (VAL) return true; else return false;", 
       message: "Please enter a valid number" 
      }); 
     jQuery('.input-text-bx').validate({ 
       expression: "if (VAL.match(/^[0-9]*$/)) return true; else return false;", 
       message: "Actual card can only be in numbers" 
      }); 
      jQuery('.input-text-bx').validate({ 
       expression: "if ((VAL.length >=16))return true; else return false;", 
       message: "The card number should be 16-20 digits" 
      }); 
});  
+0

(Что) Вы пробовали? – Lemurr

+0

добавил, что я пробовал – user2194155

+0

Подтвердить, когда? По форме submit, по размытию или ...? Что вы подразумеваете под «ошибкой throw»? Возможно, было бы яснее, если бы вы заявили, что будет считаться действительным; «цифры менее 20» открыты для нескольких интерпретаций. – nnnnnn

ответ

0

Вы можете использовать onblur событие на входах

jQuery('.input-text-bx').bind('onblur', function(){ // Validation Here }); 

и в функции сделать чек на длину (> 16 & < 20). также вы можете сопоставить RegEx.

0

.validate() в вашем коде (и тег ) указывает на вашу попытку использовать the jQuery Validate plugin. В противном случае в jQuery нет такой вещи, как .validate().

<input type="text" class="input-text-bx" id="actual" value=""> 

jQuery('.input-text-bx').validate({ 
    expression: "if (VAL) return true; else return false;", 
    message: "Please enter a valid number" 
}); 

1) Вы абсолютно не можно прикрепить .validate() к любому элементу, кроме <form></form> элемента. Для этого нет обходного пути.

2) Нет такого .validate() варианта, который называется expression. Если вам нужно написать собственный метод или правило, вам нужно будет использовать the plugin's built-in addMethod method.


Попробуйте использовать этот плагин, как это. (Все input элементы должны иметь атрибут name для этого плагин для правильной работы)

HTML:

<form id="myform"> 
    <input type="text" class="input-text-bx" name="actual" id="actual" /> 
    <input type="submit" /> 
</form> 

JQuery:

$(document).ready(function() { 

    $('#myform').validate({ // initialize the plugin 
     rules: { 
      actual: { 
       required: true,  // required field 
       number: true,   // must be a number 
       rangelength: [16, 20] // must be between 16 and 20 digits 
      } 
     } 
    }); 

}); 

DEMO: http://jsfiddle.net/NvREa/

Документация: http://docs.jquery.com/Plugins/Validation

+0

Какой плагин validate необходимо использовать для его реализации? Как проверить специальные символы? – user2194155

+0

@ user2194155, вы отметили вопрос с помощью плагина jQuery Validate, и вы пытаетесь использовать '.validate()', поэтому я думал, что вы уже установили его. Следуйте за примерами и документацией в своем ответе. Также здесь: http://bassistance.de/jquery-plugins/jquery-plugin-validation/ – Sparky

Смежные вопросы