-
June 6th, 2008, 09:47 AM
#1
Senior Member
JavaScript check form by Dreamweaver
Hi guys
one more question.
First let me say that my experience of JavaScript is VERY limited.
I have a script that is generated by Dreamweaver to check the form. Yet it does not check if there is a dot after "@" sign.
Here's the copy of the script
<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>
I made some changes to inclu a dota and a check against it. Here's the copy of the script:
<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,dot,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');dot=val.indexOf('.');
if ((p<1 || p==(val.length-1)) && (dot<p || dot==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>
the changes are:
var i,p,<Adition Made by me>dot</Adition>,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
and
if ((p<1 || p==(val.length-1)) <Adition made by me>&& (dot<p || dot==(val.length-1))</adition> errors+='- '+nm+' must contain an e-mail address.\n';
Could anyone tell me what could be the error, cause when I run this check on the form, it still doesn't show an e-mail with an absent dot
Don\'t post if you\'ve got nothing constructive to say. Flooding is annoying
-
June 9th, 2008, 08:40 AM
#2
I can't help you with the javascript, but I wanted to ensure you weren't relying on JavaScript as your only source of form validation. It is extremely insecure to perform any sort of validation on the client side, and if this is just a "helper function" to assist users that's cool, but if this is your own validation, then you should probably rethink your design.
-
June 9th, 2008, 11:43 AM
#3
Senior Member
Originally Posted by HTRegz
I can't help you with the javascript, but I wanted to ensure you weren't relying on JavaScript as your only source of form validation. It is extremely insecure to perform any sort of validation on the client side, and if this is just a "helper function" to assist users that's cool, but if this is your own validation, then you should probably rethink your design.
Actualy, I did all the validation in PHP. It might be a bit slower for users, but worked out alot faster to write for me
I got fed up with JavaScript for now, but I still need to learn the bloody thing
Don\'t post if you\'ve got nothing constructive to say. Flooding is annoying
-
June 10th, 2008, 01:12 AM
#4
Have you ever worked with regular expressions? They seem approprate for you, you could use them in both your php and your javascript
A mind full of questions has no room for answers
-
June 10th, 2008, 01:59 AM
#5
The problem with regular expressions is that they are sllloowwwww
-
June 11th, 2008, 02:31 AM
#6
Junior Member
IMO the best is to use both javascript validation (its very fast in order to avoid wrong mails accidentaly) and php validation for security.
And you could try this
http://www.smartwebby.com/DHTML/email_validation.asp
its ready you can copy paste
Last edited by lazy13; June 11th, 2008 at 02:36 AM.
Similar Threads
-
By Nokia in forum Web Development
Replies: 3
Last Post: October 10th, 2005, 01:49 PM
-
By jethro in forum Other Tutorials Forum
Replies: 5
Last Post: November 3rd, 2002, 03:09 PM
-
By sandsword2 in forum Other Tutorials Forum
Replies: 2
Last Post: June 9th, 2002, 04:18 PM
-
By Noble Hamlet in forum AntiOnline's General Chit Chat
Replies: 1100
Last Post: March 17th, 2002, 09:38 AM
-
By niboreon in forum The Security Tutorials Forum
Replies: 5
Last Post: January 12th, 2002, 12:51 AM
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|