diff --git a/README.textile b/README.textile index 1b26c668..be4c6548 100644 --- a/README.textile +++ b/README.textile @@ -5,75 +5,79 @@ Respect\Validation aims to be the most awesome validation toolkit ever created. Here some nice little things you can do using it: h3. Namespace import: -bc. use Respect\Validation\Validator as v; + +
 use Respect\Validation\Validator as v;
h3. Simple validation -bc. v::numeric()->validate($someNumber); + +
 v::numeric()->validate($someNumber); 
h3. Chained validation -bc. //From 1 to 15 non-whitespace alphanumeric characters - $username = 'alganet'; - $validUsername = v::alnum() - ->noWhitespace() - ->stringLength(1,15) - ->validate($username); -bc. - //Date between two ranges using a specific format - $someDate = '2010-10-15'; - $validDate = v::date('Y-m-d') - ->dateBetween('2009-01-01', 2011-01-01') - ->validate($someDate); +
//From 1 to 15 non-whitespace alphanumeric characters 
+$username = 'alganet';
+$validUsername = v::alnum()
+                  ->noWhitespace()
+                  ->stringLength(1,15)
+                  ->validate($username);
+//Date between two ranges using a specific format
+$someDate = '2010-10-15';
+$validDate = v::date('Y-m-d')
+              ->dateBetween('2009-01-01', 2011-01-01')
+              ->validate($someDate);
h3. Validating object attributes -bc..$user = new \stdClass; - $user->name = 'Alexandre'; - $user->birthdate = '1987-07-01'; - $validUser = v::all( - v::hasAttribute('name', v::stringNotEmpty()), - v::hasAttribute('birthdate, v::date('Y-m-d')) - ); +
$user = new \stdClass;
+$user->name = 'Alexandre';
+$user->birthdate = '1987-07-01';
+$validUser = v::all(
+    v::hasAttribute('name', v::stringNotEmpty()),
+    v::hasAttribute('birthdate, v::date('Y-m-d'))
+);
-h3.Combining rules (v::one, v::all, v::atLeast, v::most) -bc.$validDate = v::one( - v::date('Y-m-d'), - v::date('y-m-d'), //two-digit year - v::date('d/m/Y') - ); +h3. Combining rules (v::one, v::all, v::atLeast, v::most) -h3.Compositing rules -bc.. - //Must satisfy at least two of the three conditions: - //a) A numeric or alphanumeric value - //b) A date in the format Ymd (20091009) - //c) A string between 3 and 12 characters without whitespace - $valid = v::atLeast(2, array( - v::one(v::numeric(), v::alnum()), - v::date('Ymd'), - v::stringLength(3,12)->noWhitespace() - )); +
$validDate = v::one(
+    v::date('Y-m-d'),
+    v::date('y-m-d'), //two-digit year
+    v::date('d/m/Y')  
+);
+ +h3. Compositing rules + +
//Must satisfy at least two of the three conditions:
+//a) A numeric or alphanumeric value
+//b) A date in the format Ymd (20091009)
+//c) A string between 3 and 12 characters without whitespace
+$valid = v::atLeast(2, array(
+   v::one(v::numeric(), v::alnum()),
+   v::date('Ymd'),
+   v::stringLength(3,12)->noWhitespace()
+));
h3. Cool, informative exceptions: -bc.. try { - $username = '#$% #odjfubgihdbfgihbdfighb'; - $validUsername = v::alnum() - ->noWhitespace() - ->stringLength(1,15) - ->assert($username); - } catch(v\Exceptions\InvalidException $e) { - /* - Respect\Validation\Exceptions\InvalidException: - #$% #odjfubgihdbfgihbdfighb does not contains only letters and digits (including _) - #$% #odjfubgihdbfgihbdfighb contains spaces, tabs, line breaks or other not allowed charaters. - #$% #odjfubgihdbfgihbdfighb exceeds the maximum of 15 characters - */ - echo $e->getMessage(); - } + +
try {
+    $username = '#$%  #odjfubgihdbfgihbdfighb';
+    $validUsername = v::alnum()
+                      ->noWhitespace()
+                      ->stringLength(1,15)
+                      ->assert($username);
+} catch(v\Exceptions\InvalidException $e) {
+   /*
+       Respect\Validation\Exceptions\InvalidException: 
+       #$%  #odjfubgihdbfgihbdfighb does not contains only letters and digits (including _)
+       #$%  #odjfubgihdbfgihbdfighb contains spaces, tabs, line breaks or other not allowed charaters.
+       #$%  #odjfubgihdbfgihbdfighb exceeds the maximum of 15 characters
+   */
+   echo $e->getMessage();
+}
-h3.Non-fluent interface for Dependency Injection maniacs -bc.. $validator = new v\Rules\Numeric(); - $validator->validate(123); +h3. Non-fluent interface for Dependency Injection maniacs + +
$validator = new v\Rules\Numeric();
+$validator->validate(123);
.p Cool, isn't it?