gorex Posted July 26, 2007 Share Posted July 26, 2007 Hi. Does anyone know anyway to put in additional php coding to validate list/menu in forms? I am currently using Dreamweaver, so I am using their Validation check in their Tags/Behaviour sections. I read in alot of places that this default function does not allow a validation check for list/menu. But I am wondering if anyone know of anyway to put in some additional coding so that it will allow it to validate the list/menu as well? Thanks. Quote Link to comment Share on other sites More sharing options...
gorex Posted July 26, 2007 Author Share Posted July 26, 2007 No one? Quote Link to comment Share on other sites More sharing options...
ViN86 Posted July 26, 2007 Share Posted July 26, 2007 No one? well, youre being kind of vague. post some code, show us what you want to validate. ie, do you want to validate the form (using regular expressions and what not), do you want to make sure a value is entered before the process continues, etc. Quote Link to comment Share on other sites More sharing options...
gorex Posted July 26, 2007 Author Share Posted July 26, 2007 Sorry. Not used to asking questions like this in forum ... ok, here goes... I basically used the validation function in Dreamweaver to validate my form. I am not very good at php, but from what I can see, it added in this piece of coding: function MM_validateForm() { //v4.0 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=MM_findObj(args); 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 == ''); } So you can see that it will validate things like empty fields, email checking for email field, and numbers in a number field. However, it will not check a list/menu. For example I got a list menu which list 1 to 10, and the default is just - - - - . I was thinking of maybe adding a piece of coding so that it will check that if the value of the list is - - - -, then it will pop up an error in the same way that it pops up error for the validation, and say that a selection is needed from the list/menu? Not sure if that can be done, though... Its also got this piece of coding to identify each field in the form: <body onload="MM_validateForm('Forename','','R','Surname','','R','Address','','R','County','','R','Postcode','','R','Email','','RisEmail','Telephone','','RisNum');return document.MM_returnValue"> Quote Link to comment Share on other sites More sharing options...
gorex Posted July 26, 2007 Author Share Posted July 26, 2007 Opps.. sorry for adding another post. I got another field in the form which is for them to make some selections. For simplicity, lets just say that the options are 1-10 and the default is ----. The name of the field is count. Is there anything I can add in the code so that I can ask it to make sure that the menu is selected other than ----. Thanks Quote Link to comment Share on other sites More sharing options...
ViN86 Posted July 26, 2007 Share Posted July 26, 2007 First, post to another page.... then... $value = $_POST['name_of_list_to_validate'] <?php if ($value != "----"){ // code for when a value has been selected } else { // code for when a value has not been selected, usually error reporting code } ?> Quote Link to comment Share on other sites More sharing options...
gorex Posted July 26, 2007 Author Share Posted July 26, 2007 Sorry ViN86. But is there a way to set it as part of this code? This is so that it will popup the error msg together with the rest of the form validation. function MM_validateForm() { //v4.0 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=MM_findObj(args); 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 == ''); } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.