Skip to main content

How to allow user to enter only the letters, no numbers and other characters



I want to implement TexBox where user can input only letters. When user enter numbers or invalid characters, near TextBox must appear Error message. Like this:





enter image description here


Comments

  1. You can use Character.isLetter(char) on TextBox's KeyUpHandler:

    textBox.addKeyUpHandler(new KeyUpHandler() {
    public void onKeyUp(KeyUpEvent event) {
    if (!Character.isLetter(event.getNativeKeyCode())) {
    ((TextBox)event.getSource()).cancelKey();
    customPopup.showRelativeTo(textBox);// your styled PopupPanel
    }
    }
    });


    But, Character.isLetter(char) works with ASCII, if you want more see you can do it something like that:

    /**
    * A better implementation of isLetter -- the default GWT version doesn't support non-English characters.
    *
    * @param c the character to check
    * @return whether the character represents and alphabetic symbol.
    */
    public static boolean isLetter(char c) {
    int val = (int) c;

    return inRange(val, 65, 90) || inRange(val, 97, 122) || inRange(val, 192, 687) || inRange(val, 900, 1159) ||
    inRange(val, 1162, 1315) || inRange(val, 1329, 1366) || inRange(val, 1377, 1415) || inRange(val, 1425, 1610);
    }

    /**
    * Checks if an int value is in a range.
    * @param value value to check
    * @param min min value
    * @param max max value
    * @return whether value is in the range, inclusively.
    */
    public static boolean inRange(int value, int min, int max) {
    return (value <= max) & (value >= min);
    }


    See this: http://code.google.com/p/google-web-toolkit/issues/detail?id=1983

    ReplyDelete
  2. You can write some validation code on keyTyped event to check, what was the last letter typed. Was it a number or not. If not then show error message.

    Try considering KeyLister method : keyTyped()

    ReplyDelete
  3. Javascript to allow Alphabetical characters

    function AllowAlphabet(e)
    {

    keyEntry = !isIE ? e.which : event.keyCode;
    if (((keyEntry >= '65') && (keyEntry <= '90')) || ((keyEntry >= '97') && (keyEntry <=
    '122')) || (keyEntry == '46') || (keyEntry == '32') || keyEntry == '45')
    return true;
    }

    ReplyDelete

Post a Comment

Popular posts from this blog

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.