m6w6/ascertain

Simple validator, not doing much harm

dev-master 2013-10-22 07:30 UTC

This package is auto-updated.

Last update: 2024-04-11 00:10:46 UTC


README

Build Status

Harmless validation.

$user->assert()
	->that("name")
		->isNotNothing("a name is required")
		->isLen(4, "must be at least 4 characters long")
	->that("email")
		->isEmail("is not valid")
	->that("homepage")
		->when($user->hasHomepage())
		->isUrl("seems not to be a valid URL");

# ...

class User implements \ascertain\Testable
{
	use \ascertain\Validator;

	protected $id;
	protected $name;
	protected $email;
	protected $homepage;

	function hasHomepage() {
		return isset($this->homepage);
	}

	function export() {
		return array(
			"name"     => $this->name,
			"email"    => $this->email,
			"homepage" => $this->homepage.
		);
	}
}