Results 1 to 6 of 6

Thread: JavaScript check form by Dreamweaver

  1. #1
    Senior Member
    Join Date
    Apr 2004
    Posts
    228

    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

  2. #2
    Senior Member
    Join Date
    Jan 2003
    Posts
    3,915
    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.

  3. #3
    Senior Member
    Join Date
    Apr 2004
    Posts
    228
    Quote 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

  4. #4
    Senior Member
    Join Date
    Dec 2003
    Location
    LA, CA
    Posts
    292
    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

  5. #5
    Senior Member
    Join Date
    Oct 2003
    Location
    MA
    Posts
    1,052
    The problem with regular expressions is that they are sllloowwwww

  6. #6
    Junior Member
    Join Date
    Jan 2004
    Posts
    3
    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

  1. dreamweaver help, please!
    By Nokia in forum Web Development
    Replies: 3
    Last Post: October 10th, 2005, 01:49 PM
  2. JavaScript - Three Chapters
    By jethro in forum Other Tutorials Forum
    Replies: 5
    Last Post: November 3rd, 2002, 03:09 PM
  3. Javascript tidbits
    By sandsword2 in forum Other Tutorials Forum
    Replies: 2
    Last Post: June 9th, 2002, 04:18 PM
  4. The Worlds Longest Thread!
    By Noble Hamlet in forum AntiOnline's General Chit Chat
    Replies: 1100
    Last Post: March 17th, 2002, 09:38 AM
  5. Systems Administration
    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
  •