2012-02-10 1 views
2

В моем приложении текстовое поле есть там, где должно быть разрешено только регулярное выражение:/[A-Z0-9 _] /. его рабочий тон, когда мы вводим значения с клавиатуры с кодом i, вставленным ниже. Проблема в том, когда i Вставить некоторое значение, отличное от регулярного выражения, принимается с использованием ctrl + v и правого клинка. NoteI отключил правый клик и ctrl + v события по ключевому слову, что не является хорошим решением для моей проблемы, пожалуйста, помогите мне в решении этого вопроса. , пожалуйста, скажите, как проверить значение текстового поля после вставки некоторого текста.Как проверить значение текстового поля после вставки некоторого текста в текстовое поле regex в extjs?

  Mycode: { 
        xtype: 'textfield', 
        flex: 1, 
        allowBlank: false, 
        maskRe: /[A-Z0-9_]/, 
        maxLength: 50, 
        regex: /[A-Z0-9_]/, 
        ref: '../refField', 
        enableKeyEvents:true, 
        listeners: { 
         keydown: function(field, e){ 
          if((e.getKey() ==86) && e.ctrlKey){ 
           e.stopEvent(); 

          } 
         } 
        } 
       } 

С уважением, Raj

ответ

3

Вы могли бы попробовать вызвать метод Validate на событие KeyUp, как предложено здесь:

http://www.sencha.com/forum/showthread.php?27147-Trying-to-get-extjs-to-react-to-text-changing-on-a-text-field

Но, как говорится, оно не гарантирует, что это будет работать во всех браузерах. На мой взгляд, 100% -ное решение заключается в вызове validate() в поле в событии blur.

что-то вроде:

combo.on('blur', funciton(field){ 
    !if(field.isValid()){ 
     //do what you need, for example clean the value in the field 
    } 
}) 
+0

Привет, мой регулярное выражение регулярное выражение:/[A-Z0-9 _] /, если я ввести 0-9 и вставить что-нибудь другое, чем регулярное выражение его accepting.So может вам скажите, как проверить значение текстового поля на вставке и проверить соответствующим образом и ограничить символы az на вставке. пожалуйста, его чрезвычайное положение. Raj – user27

+0

см. Обновленный ответ –

+0

Принимает любое значение после и перед значением регулярного выражения путем вставки с помощью ctrl + v и мыши правой кнопкой мыши. – user27