Skip to content

Instantly share code, notes, and snippets.

@rmrf-run
Created September 5, 2014 15:42
Show Gist options
  • Save rmrf-run/06f9c6356bef029ea6f0 to your computer and use it in GitHub Desktop.
Save rmrf-run/06f9c6356bef029ea6f0 to your computer and use it in GitHub Desktop.
Gravity forms validation for IP address, valid URLs, and regex
<?php
add_filter('gform_validation_1', 'ip_validation');
function ip_validation($validation_result){
$form = $validation_result["form"];
//validate input 9 on form 1 for valid IP
if($_POST['input_9'] != filter_var($_POST['input_9'], FILTER_VALIDATE_IP)){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "9"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please enter a valid ip";
break;
}
}
}
//validate input 11 on form 1 for valid IP
if($_POST['input_11'] != filter_var($_POST['input_11'], FILTER_VALIDATE_IP)){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "11"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please enter a valid ip";
break;
}
}
}
//validate input 13 on form 1 for valid IP
if($_POST['input_13'] != filter_var($_POST['input_13'], FILTER_VALIDATE_IP)){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "13"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please enter a valid ip";
break;
}
}
}
//validate input 10 on form 1 for valid IP
if($_POST['input_10'] != filter_var($_POST['input_10'], FILTER_VALIDATE_URL)){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "10"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please enter a valid URL";
break;
}
}
}
//validate input 12 on form 1 for valid URL
if($_POST['input_12'] != filter_var($_POST['input_12'], FILTER_VALIDATE_URL)){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "12"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please enter a valid URL";
break;
}
}
}
//validate input 14 on form 1 for valid URL
if($_POST['input_14'] != filter_var($_POST['input_14'], FILTER_VALIDATE_URL)){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "14"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please enter a valid URL";
break;
}
}
}
//validate input 17 on form 1 for filtering special chars, only allowing numbers, letters, spaces, and .!
if($_POST['input_17'] != filter_var($_POST['input_17'], FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=> "/^[a-zA-Z0-9,.!? ]*$/" )))){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "17"){
$field["failed_validation"] = true;
$field["validation_message"] = "Please only use letters, numbers, and spaces.";
break;
}
}
}
//validate input 16 on form 1 for filtering special chars, only allowing numbers, letters, spaces, and .!
if($_POST['input_6'] != filter_var($_POST['input_6'], FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=> "/^[a-zA-Z0-9,.!? ]*$/" )))){
$validation_result["is_valid"] = false;
foreach($form["fields"] as &$field){
if($field["id"] == "6"){
$field["failed_validation"] = true;
$field["validation_message"] = "This doesn't seem like a valid host.";
break;
}
}
}
$validation_result["form"] = $form;
return $validation_result;
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment