On 07 Sep 2004 12:01:57 GMT, Mahda <Km**@yahoo.com> wrote:
Hi Stewart,
I doubt if you have really gone through my question.
He didn't really need to; you cross-posted a Javascript question to a Java
newsgroup. Stewart's post was merely pointing that out.
Please note that i dont want any help in java but want some javascript
help for client side validations.
Going back to your original post, Javascript always handles Unicode
characters: strings are internally converted to Unicode sequences. The
best form of input validation usually involves regular expressions that
ensure the user follows some format. A length check is a simple comparison
of the length property:
var elems = document.forms['formName'].elements;
if(elems['elementName'].value.length < comparison here >) {
// do stuff
}
To validate a form when it's submitted, you would use something like:
<form ... onsubmit="return validate(this)">
function validate(form) {
var elements = form.elements;
if(10 < elements['elementName'].value.length) {
alert('Please limit your value to 10 characters.');
elements['elementName'].focus();
return false;
}
// More validation
return true;
}
If the form field, elementName, had a value greater than 10 characters,
the user would be notified and the form would not be submitted. The
statement, return false, cancels the submission.
Don't forget that you can attempt to limit the length of user input using
the maxlength property. You should still check the value though, just to
be safe.
The final thing you might want to consider is whether your input data is
being read properly by the server. If single Unicode characters are being
broken up into multiple bytes for transmission, is the server using those
bytes, or is it reforming the original characters? Not having dealt with
Unicode input, I couldn't say whether this was a possibility or not.
All that said, and this is important, you should not be relying on
Javascript to validate your page. The server *must* validate input and
should an error be found, respond with a page describing an error and
allowing for its correction. Client-side validation should only be used to
speed up the validation process and reduce server traffic. From what you
describe in your original post, you don't seem to be doing this.
[snip]
Hope that helps,
Mike
--
Michael Winter
Replace ".invalid" with ".uk" to reply by e-mail.