On the server-side, use an expression validator to ensure the input contains only valid characters.

On the client-side either:
- use ajax validation; or
- use a javascript function that listens for the keypress event and rejects invalid keystrokes

As usual, the javascript keypress event on IE is different from all other browsers so the function has to include browser detection.
Here is the gist of what you need:

<s:textfield name="x" onkeypress="filterKeypress()" ...>

javascript:
function filterKeypress(e) {
 var accept = /[\d|\+|\-|\.]/;   // a regex pattern of accepted chars
 var keyChar;
 if (msie) {  // use your favourite broswer detection function
    keyChar = String.fromCharCode(e.keyCode);
 } else {
   keyChar = String.fromCharCode(e.which);
 }
 // check if the character is acceptable
 if (!accept.test(keyChar)) {
e.preventDefault(); // if it's not, prevent the keypress event from proceeding
 }
}


Sanjeewa Saman wrote:
Hi all ,

Can some body please tell me a way to restrict the data that we can eneter
to a textfield in struts2.

What I wanted to do is , for the s:textfield , I need to enter only values
these values {1-10 , +,-,.} .

Thank you.

sanjeewa


------------------------------------------------------------------------

No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: 26/02/2008 7:50 PM


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to