Export exceptions to plain arrays (to use in template engines, for example)

This commit is contained in:
Alexandre Gomes Gaigalas 2011-03-30 19:06:59 -03:00
parent f9ce2c389c
commit 2e8dd7b171
6 changed files with 165 additions and 103 deletions

View file

@ -177,6 +177,15 @@ Finds the specific noWhitespace message inside author->username and prints it:
>"# invalid #" must not contain whitespace
You can export the messages as a plain array to use in template engines for example:
try {
$validBlogPost->assert($blogPost);
} catch (\InvalidArgumentException $e) {
$messages = $e->findMessages('author.username.noWhitespace', 'title');
}
Using Zend and/or Symfony validators
------------------------------------

View file

@ -19,6 +19,20 @@ class AbstractNestedException extends ValidationException
return $this;
}
public function findMessages()
{
$messages = array();
foreach (func_get_args() as $finder) {
$e = call_user_func_array(
array($this, 'findRelated'), explode('.', $finder)
);
$finder = str_replace('.', '_', $finder);
$messages[$finder] = $e ? $e->getMainMessage() : '';
}
return $messages;
}
public function findRelated()
{
$target = $this;

View file

@ -143,7 +143,7 @@ class ValidationException extends InvalidArgumentException
protected function guessId()
{
if (!empty($this->id))
if (!empty($this->id) && $this->id != 'validation')
return;
$id = end(explode('\\', get_called_class()));
$id = lcfirst(str_replace('Exception', '', $id));

View file

@ -102,6 +102,7 @@ class Domain extends AbstractComposite
}
}
/**
* LICENSE
*

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<package packagerversion="1.9.2" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>RespectValidation</name>
<uri>http://github.com/Respect/Validation</uri>
<summary>The most awesome validation engine ever created for PHP</summary>
@ -10,8 +10,8 @@
<email>alexandre@gaigalas.net</email>
<active>yes</active>
</lead>
<date>2011-02-21</date>
<time>00:42:22</time>
<date>2011-03-30</date>
<time>19:05:24</time>
<version>
<release>0.2</release>
<api>0.2</api>
@ -26,104 +26,102 @@
</notes>
<contents>
<dir baseinstalldir="Respect/Validation" name="/">
<file baseinstalldir="Respect/Validation" md5sum="4ef5c6ff21a7382ac26d74354a9c2ece" name="Contexts/AbstractContext.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a99e9fcc3f89d82a4b6dfd0fbe487014" name="Contexts/Form.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="848e2674e0575c4f66ddcb5fb3287003" name="Exceptions/AbstractGroupedException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="19c0319d71edea33dee50be75e973185" name="Exceptions/AbstractNestedException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3e4da4e7b629a4889f87517506664bf3" name="Exceptions/AllOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="ae818fe09029e856ed02ce70273da0f5" name="Exceptions/AlnumException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a4e7f3830a04d92bf48ae2e88bb8d488" name="Exceptions/AlphaException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="023aeb25a9aca6311c81e96aa4abf4f8" name="Exceptions/ArrException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="285d100d9a91fc4f16ccf2e38bc30639" name="Exceptions/AtLeastException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="5fd812255cc8116f01a7c2d871db5c0e" name="Exceptions/AttributeException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1c585fb793a9ef955d2582fa81a8240e" name="Exceptions/BetweenException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="887d77c80cbc7176186d62485fb1630b" name="Exceptions/CallbackException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f5a187f5f40048b7e24022ba8c1c7196" name="Exceptions/CallException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="b22f51d15eb7d8fffceadcaf237948f0" name="Exceptions/ComponentException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="32146fc10623f56e79c9efd8210c4072" name="Exceptions/ContainsException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f4b82cd945205c262506688eada72c91" name="Exceptions/DateException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="294cc49907860578e0afc8f6b67849c0" name="Exceptions/DigitsException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="dfcfff040a20f79561e404b1dd6a5a59" name="Exceptions/DomainException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="17457e33110d00c69cd2fc14ff73a125" name="Exceptions/EachException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="4974e7de4aa07184eaca0f2ac4eaf280" name="Exceptions/EndsWithException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="48dda2bfad790b78fd0952b3d1425415" name="Exceptions/EqualsException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9aa8e37c1e8d11335fbdf073eb40c31f" name="Exceptions/FloatException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d5b41b6bd10891ed842c2285f0975c6d" name="Exceptions/HexaException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="226e2b87e3bd8d6a3cfeb359ed575b54" name="Exceptions/InException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0af3b65700bafe2995ddede9c7fc8147" name="Exceptions/InstanceException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0a858e482f0a5b88a927be1d35af826e" name="Exceptions/IntException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="fd73d54dc27f09db248f15241131a574" name="Exceptions/IpException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c8f156b64c435a0b0be2858e644c0ce9" name="Exceptions/KeyException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="648e10154cafca88993c366e9dcb0ef5" name="Exceptions/LengthException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="2b9d32dfeb050be51824bb783fe6b38b" name="Exceptions/MaxException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="aa9cba4e18c3084fc118cad99bd5b143" name="Exceptions/MinException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="5f7e12383771ce84388845282ac648d8" name="Exceptions/MostOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d6892816424411abf0f873c11d13c28f" name="Exceptions/NegativeException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="70cd4c73328d82880a1624d3567900bf" name="Exceptions/NoneOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="372a75be4ae60271e882674190e94a3b" name="Exceptions/NotEmptyException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1469f380a345eb58789878295286a002" name="Exceptions/NotException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="700f78b12af170fd83a7828019a7e501" name="Exceptions/NoWhitespaceException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="dee4d709a8359d8afb6b4fed4d1def65" name="Exceptions/NullValueException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="4b8c8c6a3ce99d706e9e7040872f1f48" name="Exceptions/NumericException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d3b1289ccb22f11759ce19dc92fbe98d" name="Exceptions/ObjectException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="11c198026c2988b550f9ecf1406f07e1" name="Exceptions/OneOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7df34686076be3531c9bbfca3926728b" name="Exceptions/PositiveException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="cb0971a4379482977ddf22a675581255" name="Exceptions/RegexException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d0498462a420d57ca74fa47e3c8c6194" name="Exceptions/SfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="14f770fa62744d4593c3aa3cbc72c3c0" name="Exceptions/StartsWithException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a9d0825a244e0b7d6412777c01367650" name="Exceptions/StringException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1793eec444cfa656116d986652328f61" name="Exceptions/TldException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="29a4034c405fab7925927a2f9ebc72a9" name="Exceptions/ValidationException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f7294294fd18031fd9ad746ca4945369" name="Exceptions/ZendException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="67eecfc191e3e8d2b7137ba7bac0c574" name="Rules/AbstractComposite.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a2e9210c6722fa39592ee89d9719df3f" name="Rules/AbstractRelated.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="198d2f1acfe9d09185c934a668783cb8" name="Rules/AbstractRule.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="38749eea751bc65585b121cdf2452b9c" name="Rules/AllOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7b002c1fab94b46f85c5cb79c50a3c2d" name="Rules/Alnum.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="499cad6ac04b7f775cae65ff23bd7c6e" name="Rules/Alpha.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="25f54c2c1f3d756afb759261c164f8b6" name="Rules/Arr.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9bf907f29fedce62683ba48ccff8ebe0" name="Rules/AtLeast.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="099870a584374ddbff431ad5e504e5ed" name="Rules/Attribute.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="ca4e19a40d5b248a915198c10cde2630" name="Rules/Between.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="2a7c997f8bb0732cc6c9d3e50d027765" name="Rules/Call.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="fc648db054e8001969516e07bd331a26" name="Rules/Callback.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0350c0f5f0d26f1463dfc7efd74fae29" name="Rules/Contains.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="94f6e04b93cbc45c04207b0ab32e4d98" name="Rules/Date.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9f72c097ae08a41b0b612799b01d7465" name="Rules/Digits.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f33697b88ed5b9cf2d4e6e06c8019335" name="Rules/Domain.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9a20af2507bce58028134aa45d2c375d" name="Rules/Each.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="52a853d45b508aa6c11b56bca98ae303" name="Rules/EndsWith.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="01d224d7f90af4df2ff2eacb6b1c64b4" name="Rules/Equals.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3374c2cf568efc7326468193878792bd" name="Rules/Float.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="cf8c4770ebb3021bd1737b677c7270c9" name="Rules/Hexa.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="4c35027222aae11d181fe23830fca01f" name="Rules/In.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="34c42f6e0ca06eea6549f0e02e222604" name="Rules/Instance.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="fbeec7c032013e067e72c9704ba8537f" name="Rules/Int.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="e2a7b74c52fb1471488bafcfa1029184" name="Rules/Ip.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="288b1f5cc8e643643503c5e8aeb286fe" name="Rules/Key.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="608bc816bf602c7e804c1361bc02e7f6" name="Rules/Length.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="bae9afe4982f0f8234de4cee675c84da" name="Rules/Max.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9c3f0d53300b2fbb9cc4721e141bd7be" name="Rules/Min.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1e7ba06c790b75a168a98e3972d38aa6" name="Rules/MostOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="ecf7ebf9af5c2c963dbde65efc5cfad2" name="Rules/Negative.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="27c5207a71b9bfabc8baf2c60e701889" name="Rules/NoneOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f674f7846949b0441178420afa9d7e33" name="Rules/Not.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="e6f25a27e2bda69903d501fe94b17ffe" name="Rules/NotEmpty.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="59425c3d12731bb2ba6a713ba5468c10" name="Rules/NoWhitespace.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c5d8a9ee171e6acf3bdab26ef08350c2" name="Rules/NullValue.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="34ed73b15119f9fa8e54d61009fcf0a4" name="Rules/Numeric.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="8a6462204bffbb3eead42a1b92b7d17e" name="Rules/Object.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="67bfc60e4ef4a796a471a3edee9a24bc" name="Rules/OneOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="2b9e4d588eefda35f48b2360dcf5b36d" name="Rules/Positive.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c6cc0755ba8b36aebaa6ad7670fc5124" name="Rules/Regex.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="fad11bb57927795ef56cd97e57b5bb50" name="Rules/Sf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="352041ebb93d201605edf2d111013d94" name="Rules/StartsWith.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d3cf890b95664760156f902207242250" name="Rules/String.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="997006c2897222ee4915c159efff9f00" name="Rules/Tld.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1b8f6f1f600788e30d8d56a4a3de905a" name="Rules/Zend.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="707527a26df31bbf09896ecb50573a47" name="ExceptionIterator.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9d4b13cb07c7928fa208a4a0fcaad30a" name="Validatable.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="2f8c0b76a6fb39943e61fa041f4f227a" name="Validator.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f644afb718d7499a405dd418a740c733" name="Exceptions/AbstractGroupedException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0f7ede91c65a22b2f10c095a96a383d7" name="Exceptions/AbstractNestedException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7880b266901a1f7fedaa9b006996ac6b" name="Exceptions/AllOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="adec7d5ab10dd9972453692d2a05e64d" name="Exceptions/AlnumException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="de0ec992ddd4fd507f696e5441bc49f2" name="Exceptions/AlphaException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="40e0f63115e3368ee6eebc1cace0449a" name="Exceptions/ArrException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c0221823ab419905b4b275249db5cdab" name="Exceptions/AtLeastException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="cbb9a653f6dd0fed4c8be332a565f4f2" name="Exceptions/AttributeException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3cba30196ade206c91889e43bbf57665" name="Exceptions/BetweenException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1b631932ccd1880841ec4db79b5f168b" name="Exceptions/CallbackException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f9397c4ae3613f33996ca129c034dc02" name="Exceptions/CallException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="b6f907f7e773ad875c4b2c39bc5333a0" name="Exceptions/ComponentException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="75e64e21cda1c2e74531ded20344784c" name="Exceptions/ContainsException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="908b64928612248e1087e5c5bc573b92" name="Exceptions/DateException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="83991b4c688c2d286d1be2807c4fb13f" name="Exceptions/DigitsException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="01db2b187a1fe0c2b36126511b11acdc" name="Exceptions/DomainException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="8a97136112ecf4b3b6f58d235780f00f" name="Exceptions/EachException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c8544ca634401f7b44a250f99028927d" name="Exceptions/EndsWithException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c33a95df823a81ee966d64cf1489949a" name="Exceptions/EqualsException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="db2fa8b120b64ad53b2fcad00a17d0a2" name="Exceptions/FloatException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a03816734fc2cf0c582b3f0501c24b1e" name="Exceptions/HexaException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7dfed45e7d18dc3d90a218030e3f49b9" name="Exceptions/InException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="6652a1190c654283783a955e0bf43991" name="Exceptions/InstanceException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c203b7023ab2b31e203bcc99273fb174" name="Exceptions/IntException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="164246b6f2490e42c2317703a187ff11" name="Exceptions/IpException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3b5314df5b119b94c3464d53ac576f01" name="Exceptions/KeyException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="e05a6dceed586335ed942f711a1e364f" name="Exceptions/LengthException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="09d517f590d56a2c9d1f263f04ab9244" name="Exceptions/MaxException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="bdfb1289830b9e302eeb1b0730bd96cb" name="Exceptions/MinException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="1af353b2a59f46a9be2a5c1fb9b471ca" name="Exceptions/MostOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="73e12e680e99ab8d34de3588d73671f7" name="Exceptions/NegativeException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="58e675a54ecbe6352d36cc9207de9ca8" name="Exceptions/NoneOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7bf968d6f9acd64f239d0d7d841f8810" name="Exceptions/NotEmptyException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a7e765c3a3651782e3ef493140e92457" name="Exceptions/NotException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="980578857ef542f5141565fcf268e905" name="Exceptions/NoWhitespaceException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="764b5a4944ecfa8387a46d9f8987a717" name="Exceptions/NullValueException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3e1cf8b19e506215e5c49f25fc9c398e" name="Exceptions/NumericException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="cee6c86575ed55e760ff6437586d2e21" name="Exceptions/ObjectException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="df25b7c47771e7d93d655cbeee59fc44" name="Exceptions/OneOfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0a66099b5c8b3c83819f1fb7a7923cb0" name="Exceptions/PositiveException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="8e1c9bc74006a768bd8de0e53314abee" name="Exceptions/RegexException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="da3ccc50cbea87bcc5f3c69dd420c915" name="Exceptions/SfException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="bb00fb05a6daeca8d858e6024c052714" name="Exceptions/StartsWithException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="88e728312895efd8f81609a254dc38a9" name="Exceptions/StringException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="fe2750ab13b146cbfc260d99f993811e" name="Exceptions/TldException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="b37985911ddbd7e2e8a66bd0766ee713" name="Exceptions/ValidationException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="cb2339b7d64ce3a60352844a4f21faff" name="Exceptions/ZendException.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0c0f504ae7faf6acddcd66defbf3dbb8" name="Rules/AbstractComposite.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="4f5dbde6198921823a199ccf09b63770" name="Rules/AbstractRelated.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="948cbd660b6d367a482bcf36dda63010" name="Rules/AbstractRule.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3b6e284d165b2934650214b9af3422dc" name="Rules/AllOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="ba19b564226ca821e5ad20a094d46ae7" name="Rules/Alnum.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="8d75ac998a6f9565d336414773137588" name="Rules/Alpha.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a1025c62f5ca30c895fcce9cc6ccab6e" name="Rules/Arr.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="ea461cd10c0c370b6688cbdd1390914d" name="Rules/AtLeast.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="37c47be9f5980a1ef302c2b0db1c92f4" name="Rules/Attribute.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="22d780a6fbde4e7857ff31fe37c49378" name="Rules/Between.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="48f411a25cf6ff19fbcbf2462d7fde52" name="Rules/Call.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c9a56e67bd3a223a02e61d9ebb5e0686" name="Rules/Callback.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c97832b14d664de380080cf336f5711b" name="Rules/Contains.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7491bfd622cb9d5f45cc6d9380a90c4b" name="Rules/Date.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="e39d5076b9f1202770e1e949c3caae64" name="Rules/Digits.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="ac2c94c310c7c59e833b50bdf306d706" name="Rules/Domain.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="2f2b1457eef43cb620ef66bec0a2294b" name="Rules/Each.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="29308df1b087fbabaf066084da6aebbe" name="Rules/EndsWith.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="0a6b646c35fe40824ca1494b7a9661d1" name="Rules/Equals.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d8076da57a7549b902aa62769bc42e67" name="Rules/Float.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="66a87b5f68b1a4819bfa0a74f4901ed2" name="Rules/Hexa.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="744a83a80feba5dfcf7f18fd07e0cd1a" name="Rules/In.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c77fa0fa5313cfd858330ac920955da2" name="Rules/Instance.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="4c8ea7aa820f838eeb9ceb4ab844f54e" name="Rules/Int.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="bb206fe3c0f6bad27b750fc7757eec83" name="Rules/Ip.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="550026d0c64f0a4f85cfe2ae5f452073" name="Rules/Key.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="6d532f0fe9214dddaeef32b93d5331be" name="Rules/Length.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="998ade345898447919a43730c1334282" name="Rules/Max.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="492fd7483a84888f37de24f25ade58a3" name="Rules/Min.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9eccb13230dba42ee5fef5465ed2d788" name="Rules/MostOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="8d5d38b16b9407a45b5a1a11078fe68a" name="Rules/Negative.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9b58e8b9868b467e9cb9b02f0bb2c428" name="Rules/NoneOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="13a111bde63b51180699255d8993d2b1" name="Rules/Not.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="d9af701fa6d2dc7f1c4c22dcd252623d" name="Rules/NotEmpty.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="a8dfcac9f375bbc402163dc968636c65" name="Rules/NoWhitespace.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="7cde6db2e3ec8ff81ccc6f9071bde955" name="Rules/NullValue.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="9825ab5a6ed850f6ab82897d42c6e585" name="Rules/Numeric.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="be82a982bbe839bf663ad0156096d957" name="Rules/Object.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="02cbb29f2ca0cb613aacb05758a283bf" name="Rules/OneOf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="94900af98c5db4c92817c122db1db5a2" name="Rules/Positive.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="abf2eab334528a8b9737d3160dd4976e" name="Rules/Regex.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="6d06302d08f4511a1af7be2d7e5c9cae" name="Rules/Sf.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="c355a522668b681feec7765058a9ff4c" name="Rules/StartsWith.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="52fa7bda9b8ab3fceb20868468771392" name="Rules/String.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="f6aeceea5d7b4522cd9f97b27088e351" name="Rules/Tld.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="afa7d33bee75d08ac2302eb5491b590b" name="Rules/Zend.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="904f06fb7ae379ec7f5a8af65a30e365" name="ExceptionIterator.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="42028a45da0514aed346f3053282d10e" name="Validatable.php" role="php" />
<file baseinstalldir="Respect/Validation" md5sum="3228412f076b766cea7bea29782191ee" name="Validator.php" role="php" />
</dir>
</contents>
<dependencies>
@ -147,7 +145,7 @@
<release>alpha</release>
<api>alpha</api>
</stability>
<date>2011-02-21</date>
<date>2011-03-30</date>
<license uri="http://www.opensource.org/licenses/bsd-license.php">BSD Style</license>
<notes>
.

View file

@ -2,6 +2,8 @@
namespace Respect\Validation\Exceptions;
use Respect\Validation\Validator as v;
class AbstractNestedExceptionTest extends \PHPUnit_Framework_TestCase
{
@ -45,4 +47,42 @@ class AbstractNestedExceptionTest extends \PHPUnit_Framework_TestCase
$this->assertSame(false, $foo->findRelated('bar', 'none'));
}
public function testAsArray()
{
$stringMax256 = v::string()->length(5, 256);
$alnumDot = v::alnum('.');
$stringMin8 = v::string()->length(8, null);
$v = v::allOf(
v::attribute('first_name', $stringMax256)->setName('First Name'),
v::attribute('last_name', $stringMax256)->setName('Last Name'),
v::attribute('desired_login', $alnumDot)->setName('Desired Login'),
v::attribute('password', $stringMin8)->setName('Password'),
v::attribute('password_confirmation', $stringMin8)->setName('Password Confirmation'),
v::attribute('stay_signedin', v::notEmpty())->setName('Stay signed in'),
v::attribute('enable_webhistory', v::notEmpty())->setName('Enabled Web History'),
v::attribute('security_question', $stringMax256)->setName('Security Question')
)->setName('Validation Form');
try {
$v->assert(
(object) array(
'first_name' => 'fiif',
'last_name' => null,
'desired_login' => null,
'password' => null,
'password_confirmation' => null,
'stay_signedin' => null,
'enable_webhistory' => null,
'security_question' => null,
)
);
} catch (ValidationException $e) {
$messages = $e->findMessages(
'allOf',
'first_name.length'
);
$this->assertEquals($messages['allOf'], 'These 8 rules must pass for Validation Form');
$this->assertEquals($messages['first_name_length'], '"fiif" must have a length between 5 and 256');
}
}
}