This is documentation for Kohana v2.3.x.
Status | Draft |
---|---|
Todo | check grammar, enhance explanations and layout |
Provides methods for validating inputs. It currently features validation for email-addresses, ip's, url's, digits/numbers and text.
This helper provides functions for doing validation using the validation library.
'email' checks whether an email address is valid. It is more strict than the valid::email_rfc() method.
$email = '[email protected]'; if(valid::email($email) == true){ echo "Valid email"; }else{ echo "Invalid email"; }
It will result in HTML as:
Valid email
'email_domain' validates the domain part of an email address by checking if the domain has a valid MX record.
$email = '[email protected]'; if(valid::email_domain($email) == true){ echo "Valid email domain"; }else{ echo "Invalid email domain"; }
It will result in HTML as:
Valid email domain
This function uses http://www.php.net/checkdnsrr which is not implemented on Windows platforms. So if your Kohana installation is running in Windows this function will return true no matter if the domain is valid or not. A solution for this is to write your own checkdnsrr function. You can find an implementation here: http://www.php.net/manual/en/function.checkdnsrr.php#82701
'email_rfc' validates an emailaddress based on the RFC specifications (http://www.w3.org/Protocols/rfc822/). This validation is less strict than the valid::email() function.
$email = '[email protected]'; if(valid::email_rfc($email) == true){ echo "Valid email"; }else{ echo "Invalid email"; }
It will result in HTML as:
Valid email
url($url)
does some simple validation on an URL to find out it if it could be existing.
$url = 'http://www.kohanaphp.com'; if(valid::url($url) == true){ echo "Valid URL"; }else{ echo "Invalid URL"; }
It will result in HTML as:
Valid URL
ip($ip, $ipv6 = FALSE, $allow_private = TRUE)
validates an IP-address to make sure it could exist, but does not guarantee it actually does.
$ip="65.181.130.41"; if(valid::ip($ip) == true){ echo "Valid IP"; }else{ echo "Invalid IP"; } $ip="123.456.678.912"; if(valid::ip($ip) == true){ echo "Valid IP"; }else{ echo "Invalid IP";
It will result in HTML as:
Valid IP Invalid IP
'credit_card' checks if a credit card number is valid or not depending on the configuration defined on your credit_cards.php config file.
This method will check if the credit card number is valid taking into account the settings defined in the credits_cards.php config file. If nothing is passed as second parameter then the default type of the credits_cards.php config file will be used.
$number = "4992739871600"; if(valid::credit_card($number)) { echo "Valid credit card number"; } else { echo "Invalid credit card number"; }
It will result in HTML as:
Valid credit card number
This method allows to pass as second argument an array of credit_cards type (which you define in the credit_cards.php config file). If you do so, the number will be considered valid if it matches with the specifications of at least one of the types added in the array.
Consider the following example:
$number = "4992739871600"; $types = array( 'default', 'american express' ); if(valid::credit_card($number, $types)) { echo "Valid credit card number"; } else { echo "Invalid credit card number"; }
It will result in HTML as:
Valid credit card number
Since the credit number passed as first argument matches at least the rules defined for the default type.
'phone' checks whether a phone number is valid or not. It strips all the characters which are not a digit from the string at the moment of the validation.
$phone = '+54 123-456 789'; if(valid::phone($phone) == true){ echo "Valid phone number"; }else{ echo "Invalid phone number"; }
It will result in HTML as:
Valid phone number
'date' checks whether a string is a valid date string.
$date = '19th February 2009'; if (valid::date($date)) { echo "Valid date"; } else { echo "Invalid date"; }
It will result in HTML as:
Valid date
'alpha' checks whether a string consists of alphabetical characters only
$string="KohanaPHP is cool"; if(valid::alpha($string) == true){ echo "Valid string"; }else{ echo "Invalid string"; }
It will result in HTML as:
Invalid string
$string="KohanaPHPiscool"; if(valid::alpha($string) == true){ echo "Valid string"; }else{ echo "Invalid string"; }
It will result in HTML as:
Valid string
'alpha_numeric' checks whether a string consists of alphabetical characters and numbers only
$string="KohanaPHP Version 3 is cool"; if(valid::alpha_numeric($string) == true){ echo "Valid string"; }else{ echo "Invalid string"; }
It will result in HTML as:
Invalid string
$string="KohanaPHPVersion2iscool"; if(valid::alpha_numeric($string) == true){ echo "Valid string"; }else{ echo "Invalid string"; }
It will result in HTML as:
Valid string
'alpha_dash' checks whether a string consists of alphabetical characters, numbers, underscores and dashes only
$string="KohanaPHP Version 2 is cool"; if(valid::alpha_dash($string) == true){ echo "Valid string"; }else{ echo "Invalid string"; }
It will result in HTML as:
Invalid string
$string="KohanaPHP_Version-2-is_cool"; if(valid::alpha_dash($string) == true){ echo "Valid string"; }else{ echo "Invalid string"; }
It will result in HTML as:
Valid string
'digit' checks whether a string consists of digits only (no dots or dashes)
$digits = "23424.32"; if(valid::digit($digits) == true){ echo "Valid"; }else{ echo "Invalid"; }
It will result in HTML as:
Invalid
$digits = "2342432"; if(valid::digit($digits) == true){ echo "Valid"; }else{ echo "Invalid"; }
It will result in HTML as:
Valid
'numeric' checks whether a string is a valid number (negative and decimal numbers allowed). It supports international formats (ex. Spanish decimal format uses comma as separator).
$number = "-23424.32"; if(valid::numeric($number) == true){ echo "Valid"; }else{ echo "Invalid"; }
It will result in HTML as:
Valid
'standard_text' checks whether a string is a valid text. Letters, numbers, whitespace, dashes (-), periods (.), underscores (_) and normal punctuation are allowed.
$text = 'this is not a valid text because of the : character'; if(valid::standard_text($text) == true){ echo "Valid standard text"; }else{ echo "Invalid standard text"; }
It will result in HTML as:
Invalid standard text
'decimal' Checks if a string is a proper decimal format. The format array can be used to specify a decimal length, or a number and decimal length, eg:
* array(2) would force the number to have 2 decimal places, array(4,2) * would force the number to have 4 digits and 2 decimal places.
$decimal = '4.5'; if(valid::decimal($decimal) == true){ echo "Valid decimal"; }else{ echo "Invalid decimal"; }
It will result in HTML as:
Valid decimal
$decimal = '4.5'; $format = array(2,1); if(valid::decimal($decimal,$format) == true){ echo "Valid decimal"; }else{ echo "Invalid decimal"; }
It will result in HTML as:
Invalid decimal