2015-07-03 1 views
2

Мне нужно сделать валидацию только для integer значение в NumberTextBox.NumberTextBox допускает только целое число

С помощью следующего кода ввод десятичного значения в NumberTextBox 54.454 ошибочно проверяется.

Я хотел бы знать:

  • Как проверить лишь integer значения?
  • Возможно ли избежать ввода пользователем .?

https://jsfiddle.net/9Lh3p0fb/7/

require(["dijit/form/NumberTextBox", "dojo/domReady!"], function(NumberTextBox){ 
    new NumberTextBox({ 
      name: "programmatic", 
     constraints: {pattern: '@@@'} 
    }, "programmatic").startup(); 
}); 
+0

http://stackoverflow.com/questions/30323610/check-if-a-textbox-contains-numbers-only/30323668#30323668 может помочь вам – Tushar

+0

полезную ссылку о HTTPS шаблон свойств: // dojotoolkit. org/reference-guide/1.6/quickstart/numbersDates.html – GibboK

ответ

1

Вы можете использовать places: 0 как configuration вариант:

require(["dijit/form/NumberTextBox", "dojo/domReady!"], function (NumberTextBox) { 
    new NumberTextBox({ 
     name: "programmatic", 
     constraints: { 
      pattern: '@@@', 
      places: 0 
     } 
    }, "programmatic").startup(); 
}); 
+0

Спасибо, что это работает! – GibboK

+0

Просто быстрый вопрос ... Знаете ли вы, можно ли отключить ввод ./, на самом элементе управления? Использование NumberTextBox. Я знаю, что возможно с некоторыми работами вокруг события keydown, но я не уверен, что он поддерживается моим диджитом. Спасибо за ваше время. – GibboK

+0

@GibboK, не проблема, не слишком уверен в этом, плохо взгляните быстро – epoch

0

Я получил код из here и модифицирована. проверьте, разрешает ли она вашу проблему.

<input type='text' onkeypress='validate(event)' /> 

<script type="text/javascript"> 
    function validate(evt) { 
     var theEvent = evt || window.event; 
     var key = theEvent.keyCode || theEvent.which; 
     key = String.fromCharCode(key); 
     var regex = /[0-9]/; 
     if(!regex.test(key)) { 
     theEvent.returnValue = false; 
     if(theEvent.preventDefault) theEvent.preventDefault(); 
     } 
    } 
</script>` 
+0

Спасибо за ваш ответ, но мой вопрос специально для NumberTextBox в dijit .. – GibboK