Thursday, January 27, 2011

php example

UserValidation

<?php


class UserValidation{


function validatefirstName($firstName){

$namePattern="/^[a-zA-Z][a-zA-Z]*$/";
     
if(strlen($firstName)==0){

return "First Name Should Contains Characters";

}
else if(preg_match($namePattern,$firstName)!=true){

return "First name can contain only characters";

}
else{
//valid firstName
return "";
}

}//validatefirstName




function validateFullName($fullName){

$fullNamePattern="/^[a-zA-Z][a-zA-Z\\s]*$/";
     
if(strlen($fullName)<5){

return "Full Name Should At least 5 charcters long";
}
else if(preg_match($fullNamePattern,$fullName)!=true){

return "Full name can contain only characters";
}
else{
//valid fullname
return "";
}

}//validateFullName




function validateAddress($address){

if(strlen($address)==0){

return "address is required";
}
else{

return "";
}

}//validateAddress




function validateEmail($email){

$emailPattern="/^[a-zA-Z][a-zA-Z0-9_.]*[@][a-zA-Z0-9][a-zA-Z0-9]*[.][a-zA-Z][a-zA-Z]*$/";
     
if(preg_match($emailPattern,$email)!=true){

return "Invalid Email address";

}
else{
//valid email
return "";
}

}//validateEmail




function validateAge($age){

$agePattern="/^[0-9]*$/";
     
if(preg_match($agePattern,$age)!=true){

return "Invalid Age";

}
else{
//valid age
return "";
}

}//validAge


function validateUsername($username){

$usernamePattern="/^[a-zA-Z][a-zA-Z0-9]*$/";
if(strlen($username)==0){

return "username is required";
}
else if(strlen($username)<10){

return "username should contain at least 10 characters";
}  
else if(strlen($username)>15){

return "username can contain only maximum 15 characters";

}   
else if(preg_match($usernamePattern,$username)!=true){

return "Invalid Username";

}
else{
//valid age
return "";
}

}//validateusername





function validatePasswordAndPasswordConfirmation($password,$passwordConfirmation){

if($passwordConfirmation==""){

return "white spaces are not allowed for the password";

}
else if($password!=$passwordConfirmation){

return "Password does not match with the password confirmation";

}
else{
return "";
}

}//validatePassword




}//class



?>

registerNewUserController
<?php
include "../model/validation/UserValidation.php";
//registerNewUserController


if(isset($_POST["isAjax"])){

//creating validation object
$userValidation=new UserValidation;

if(isset($_POST["username"])){

//echo "validate username";

$validationErrors=$userValidation->validateUserName(trim($_POST["username"]));

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}
}


if(isset($_POST["firstName"])){

//echo "validate firstName"; 

$validationErrors=$userValidation->validatefirstName(trim($_POST["firstName"]));

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}


}//firstName



if(isset($_POST["fullName"])){

//echo "validate fullName"; 

$validationErrors=$userValidation->validateFullName(trim($_POST["fullName"]));

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}


}//fullName



if(isset($_POST["address"])){

//echo "validate address"; 


$validationErrors=$userValidation->validateAddress(trim($_POST["address"]));

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}



}


if(isset($_POST["email"])){

//echo "validate email"; 

$validationErrors=$userValidation->validateEmail(trim($_POST["email"]));

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}


}


if(isset($_POST["age"])){

//echo "validate age"; 

$validationErrors=$userValidation->validateAge(trim($_POST["age"]));

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}
}



if(isset($_POST["passwordConf"]) && isset($_POST["password"])){

$password=trim($_POST["password"]);
$passwordConf=trim($_POST["passwordConf"]);

$validationErrors=$userValidation->validatePasswordAndPasswordConfirmation($password,$passwordConf);

if(strlen($validationErrors)!=0){

//there are validation errors

echo $validationErrors;

}

}


}//if outer
else if(isset($_POST["submit"])){

echo "Form submit request";


}
else{

echo "invalid request";

}

?>

validateRegistrationFormUsingAjax

<?php
include "../model/validation/UserValidation.php";
//ajax validation controller


if(isset($_POST["isAjax"])){

$userValidation=new UserValidation;


if(isset($_POST["username"])){

$validationErrors=$userValidation->validateUserName(trim($_POST["username"]));

if(strlen($validationErrors)!=0){

echo $validationErrors;
}
}


if(isset($_POST["firstName"])){

$validationErrors=$userValidation->validatefirstName(trim($_POST["firstName"]));

if(strlen($validationErrors)!=0){

echo $validationErrors;
}
}//firstName



if(isset($_POST["fullName"])){

$validationErrors=$userValidation->validateFullName(trim($_POST["fullName"]));

if(strlen($validationErrors)!=0){

echo $validationErrors;
}
}//fullName



if(isset($_POST["address"])){

$validationErrors=$userValidation->validateAddress(trim($_POST["address"]));

if(strlen($validationErrors)!=0){

echo $validationErrors;
}
}


if(isset($_POST["email"])){

$validationErrors=$userValidation->validateEmail(trim($_POST["email"]));

if(strlen($validationErrors)!=0){

echo $validationErrors;

}
}


if(isset($_POST["age"])){

$validationErrors=$userValidation->validateAge(trim($_POST["age"]));

if(strlen($validationErrors)!=0){

echo $validationErrors;
}
}



if(isset($_POST["passwordConf"]) && isset($_POST["password"])){

$password=trim($_POST["password"]);
$passwordConf=trim($_POST["passwordConf"]);

$validationErrors=$userValidation->validatePasswordAndPasswordConfirmation($password,$passwordConf);

if(strlen($validationErrors)!=0){

echo $validationErrors;
}
}

}//if outer



//ajax request is to validate all data before submiting the form
if(isset($_POST["isAllData"])){

$userValidation=new UserValidation;
//$userValidationError="<b> The following Error Appear in Your Form </b><br/>";
$userValidationError="";

if(isset($_POST["username"])){

$validationErrors=$userValidation->validateUserName(trim($_POST["username"]));

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";

}
}


if(isset($_POST["firstName"])){

$validationErrors=$userValidation->validatefirstName(trim($_POST["firstName"]));

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";
}
}//firstName



if(isset($_POST["fullName"])){

$validationErrors=$userValidation->validateFullName(trim($_POST["fullName"]));

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";
}
}//fullName



if(isset($_POST["address"])){

$validationErrors=$userValidation->validateAddress(trim($_POST["address"]));

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";
}
}


if(isset($_POST["email"])){

$validationErrors=$userValidation->validateEmail(trim($_POST["email"]));

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";
}
}



if(isset($_POST["passwordConf"]) && isset($_POST["password"])){

$password=trim($_POST["password"]);
$passwordConf=trim($_POST["passwordConf"]);

$validationErrors=$userValidation->validatePasswordAndPasswordConfirmation($password,$passwordConf);

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";
}
}

if(isset($_POST["age"])){

$validationErrors=$userValidation->validateAge(trim($_POST["age"]));

if(strlen($validationErrors)!=0){

$userValidationError=$userValidationError."".$validationErrors."<br/>";
}
}






if(strlen($userValidationError)!=0){

//there are validation errors
echo $userValidationError;


}
else{

//there no validation errors

echo "valid";

}

}


?>


view

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">


function createXmlHttpObject(){
  var xmlhttp="";
  
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  
  return xmlhttp;
}  


function sendAjaxHttpRequest(xmlhttp,url,parameterName,parameterValue){

var parameters=parameterName+"="+parameterValue+"&isAjax=true";
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", parameters.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(parameters);

}


function validateFormItem(elementID,elementValue,spanTagId){

if (elementValue.length==0)
  {
  document.getElementById(spanTagId).innerHTML="";
  return;
  }

xmlhttp=createXmlHttpObject();

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
 document.getElementById("txtAllErrors").innerHTML="";
    document.getElementById(spanTagId).innerHTML=xmlhttp.responseText;
    }
  }

sendAjaxHttpRequest(xmlhttp,"../controller/validateRegistrationFormController.php",elementID,elementValue);

}


//password validation
function passwordValidation(passwordConf){
 
var password=(document.getElementById("password")).value;
 
 
 
if (passwordConf.length==0)
  {
  document.getElementById("txtPasswordConf").innerHTML="";
  return;
  }
 
xmlhttp=createXmlHttpObject();
 
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
 document.getElementById("txtPasswordConf").innerHTML="";
    document.getElementById("txtPasswordConf").innerHTML=xmlhttp.responseText;
    }
  }
 
var parameters="password="+password+"&passwordConf="+passwordConf+"&isAjax=true";
xmlhttp.open("POST","../controller/validateRegistrationFormController.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", parameters.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(parameters);
 
 
}

</script>
</head>

<body>

<h2>User Registration form </h2>

<form method="POST" action="../controller/registerNewUserController.php" id="userRegistrationForm" name="userRegistrationForm">

UserName <input type="text" name="username" id="username" onChange="validateFormItem('username',this.value,'txtUsername')"/><p><span id="txtUsername"></span></p>

FirstName <input type="text" name="firstName" id="firstName" onChange="validateFormItem('firstName',this.value,'txtFirstName')"/><p><span id="txtFirstName"></span></p>

fullName <input type="text" name="fullName" id="fullName" onChange="validateFormItem('fullName',this.value,'txtFullName')"/><p><span id="txtFullName"></span></p>

Age <input type="text" name="age" id="age" onChange="validateFormItem('age',this.value,'txtAge')"/><p><span id="txtAge"></span></p>

Address <input type="text" name="address" id="address" onChange="validateFormItem('address',this.value,'txtAddress')"/><p><span id="txtAddress"></span></p>

Email <input type="text" name="email" id="email" onChange="validateFormItem('email',this.value,'txtEmail')"/><p><span id="txtEmail"></span></p>

password <input type="password" name="password" id="password" /><p><span id="txtPassword"></span></p>

password confirmation  <input type="password" name="passwordConf" id="passwordConf" onChange="passwordValidation(this.value)"/><p><span id="txtPasswordConf"> </span></p>

<input id="submit" type="submit" name="submit" value="Register" />

</form>


</body>
</html>

No comments:

Post a Comment