Welcome to WebmasterWorld Guest from

Forum Moderators: open

Message Too Old, No Replies

Adding checkdnsrr() function to a form validation?

Can I add this PHP function into a Javascript Form Validator?

1:08 am on Jun 30, 2009 (gmt 0)

5+ Year Member

Hi, I have a contact form and I'm wondering if there's a way to add the PHP checkdnsrr() function to my current validation:

<script type="text/JavaScript">
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;

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[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+='- Please enter a valid email 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 += '- Please enter your '+nm+'.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');

I'd like to check the domain of an email address so I'd use something like this:

list($userName, $mailDomain) = split("@", $email);
if (checkdnsrr($mailDomain, "MX")) {

2:02 pm on Jun 30, 2009 (gmt 0)

10+ Year Member

You cannot evaluate php on the client.

If your php is doing some real work (maybe going out and checking that $mailDomain exists out on the web or doing an imap connect to verify email address), you could consider building out an ajax call.

My guess, however, is that you are just doing some string manipulation against the user-provided strings which could be rewritten in javascript and done at the client.