initial commit of validation classes.
This commit is contained in:
70
system/validation/rules/presence_of.php
Normal file
70
system/validation/rules/presence_of.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php namespace System\Validation\Rules;
|
||||
|
||||
use System\Validation\Rule;
|
||||
|
||||
class Presence_Of extends Rule {
|
||||
|
||||
/**
|
||||
* Indicates an empty string should be considered present.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $allow_empty = false;
|
||||
|
||||
/**
|
||||
* Indicates a null should be considered present.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
public $allow_null = false;
|
||||
|
||||
/**
|
||||
* Evaluate the validity of an attribute.
|
||||
*
|
||||
* @param string $attribute
|
||||
* @param array $attributes
|
||||
* @return void
|
||||
*/
|
||||
public function check($attribute, $attributes)
|
||||
{
|
||||
if ( ! array_key_exists($attribute, $attributes))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (is_null($attributes[$attribute]) and ! $this->allow_null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (trim((string) $attributes[$attribute]) === '' and ! $this->allow_empty)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow an empty string to be considered present.
|
||||
*
|
||||
* @return Presence_Of
|
||||
*/
|
||||
public function allow_empty()
|
||||
{
|
||||
$this->allow_empty = true;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Allow a null to be considered present.
|
||||
*
|
||||
* @return Presence_Of
|
||||
*/
|
||||
public function allow_null()
|
||||
{
|
||||
$this->allow_null = true;
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user