Connecting Tech Pros Worldwide Forums | Help | Site Map

field validation needs to accept decimal values -- how please?

KathyB
Guest
 
Posts: n/a
#1: Jul 20 '05
I need this function to accept decimal values (e.g., 2.5 ok, not just
whole numbers between 1 and 5).

I can't find this answer...

thanks, kat

***************************
function ValidateSave(formRef,fieldName,min,max)
{
var formField = formRef.elements[fieldName];

if((parseInt(formField.value) != formField.value) || formField.value <
min || formField.value > max)
{
alert("The entry must be between " +min+ " and " +max+ ".");
formField.focus();
formField.select();
return false;
}
....else code left out

Janwillem Borleffs
Guest
 
Posts: n/a
#2: Jul 20 '05

re: field validation needs to accept decimal values -- how please?



"KathyB" <KathyBurke40@attbi.com> schreef in bericht
news:75e8d381.0310051231.1b53af28@posting.google.c om...[color=blue]
> I need this function to accept decimal values (e.g., 2.5 ok, not just
> whole numbers between 1 and 5).
>[/color]

I would use a regular expression for this, e.g.:

var figure = '1.1';
var reg = /^\d+(\.\d+)?$/;

alert(reg.test(figure)); // alerts true

With this, your function might look like this:

function ValidateSave(formRef,fieldName,min,max) {
var formField = formRef.elements[fieldName];
if (!/^\d+(\.\d+)?$/.test(formField)) {
alert('Invalid entry!');
formField.focus();
formField.select();
return false;
}

if (formField.value < min || formField.value > max) {
alert("The entry must be between " +min+ " and " +max+ ".");
formField.focus();
formField.select();
return false;
}
}


JW



Janwillem Borleffs
Guest
 
Posts: n/a
#3: Jul 20 '05

re: field validation needs to accept decimal values -- how please?



"Janwillem Borleffs" <jw@jwscripts.com> schreef in bericht
news:3f80832c$0$28889$1b62eedf@news.euronet.nl...[color=blue]
>
> I would use a regular expression for this, e.g.:
>[/color]

Made an error in my code, please use the following:

function ValidateSave(formRef,fieldName,min,max) {
var formField = formRef.elements[fieldName];
if (!/^\d+(\.\d+)?$/.test(formField.value)) {
alert('Invalid entry!');
formField.focus();
formField.select();
return false;
}

if (formField.value < min || formField.value > max) {
alert("The entry must be between " +min+ " and " +max+ ".");
formField.focus();
formField.select();
return false;
}
}


JW



Kathy Burke
Guest
 
Posts: n/a
#4: Jul 20 '05

re: field validation needs to accept decimal values -- how please?


JW, thanks so much! That works great. I've seen reg expressions
before...but clearly need to go study them a bit.

Thanks again.

Kathy

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Kathy Burke
Guest
 
Posts: n/a
#5: Jul 20 '05

re: field validation needs to accept decimal values -- how please?


Hi again, JW. For some reason, I'm getting an error on this
function...looks ok to me, but the parser (Xselerator) says I'm missing
a "[" or a "(" -- can't tell which. Doesn't give me the exact line, but
when I remove this function, I don't get the error.

Thanks,

Kathy

function ValidateSave(formRef,fieldName,min,max)
{
var formField = formRef.elements[fieldName];
if (!/^\d+(\.\d+)?$/.test(formField.value)) {
alert('Invalid entry! Please try again.');
formField.focus();
formField.select();
return false;
}
if formField.value < min || formField.value > max {
alert("The entry must be between " +min+ " and " +max+ ".");
formField.focus();
formField.select();
return false;
}
else
{
varScroll = document.body.scrollTop;
document.cookie="position="+varScroll;
return confirm("You are about to enter: " +formField.value+ " --
click OK to proceed.");
}
}

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Janwillem Borleffs
Guest
 
Posts: n/a
#6: Jul 20 '05

re: field validation needs to accept decimal values -- how please?



"Kathy Burke" <kathyburke40@attbi.com> schreef in bericht
news:3f8159d7$0$196$75868355@news.frii.net...[color=blue]
>
> function ValidateSave(formRef,fieldName,min,max)
> {[/color]
.....[color=blue]
> }
> if formField.value < min || formField.value > max {
>[/color]

Hi Kathy,

The if statement above is where the problem is, it should read:

if (formField.value < min || formField.value > max) {


JW



Kathy Burke
Guest
 
Posts: n/a
#7: Jul 20 '05

re: field validation needs to accept decimal values -- how please?


Thanks again! Guess I was too tired.

Kathy

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Closed Thread