Created
December 8, 2013 19:39
-
-
Save NoMan2000/7862853 to your computer and use it in GitHub Desktop.
Basic PHP Validation functions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$errors = array(); | |
function fieldname_as_text($fieldname) { | |
$fieldname = str_replace("_", " ", $fieldname); | |
$fieldname = ucfirst($fieldname); | |
return $fieldname; | |
} | |
// * presence | |
// use trim() so empty spaces don't count | |
// use === to avoid false positives | |
// empty() would consider "0" to be empty | |
function has_presence($value) { | |
return isset($value) && $value !== ""; | |
} | |
function validate_presences($required_fields) { | |
global $errors; | |
foreach($required_fields as $field) { | |
$value = trim($_POST[$field]); | |
if (!has_presence($value)) { | |
$errors[$field] = fieldname_as_text($field) . " can't be blank"; | |
} | |
} | |
} | |
// * string length | |
// max length | |
function has_max_length($value, $max) { | |
return strlen($value) <= $max; | |
} | |
function validate_max_lengths($fields_with_max_lengths) { | |
global $errors; | |
// Expects an assoc. array | |
foreach($fields_with_max_lengths as $field => $max) { | |
$value = trim($_POST[$field]); | |
if (!has_max_length($value, $max)) { | |
$errors[$field] = fieldname_as_text($field) . " is too long"; | |
} | |
} | |
} | |
// * inclusion in a set | |
function has_inclusion_in($value, $set) { | |
return in_array($value, $set); | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment