commits
Mon, 13 Nov 2006 11:05:30 -0800
Author: dominik Date: 2006-11-13 20:05:24 +0100 (Mon, 13 Nov 2006) New Revision: 1335
Modified:
trunk/src/validator/AgaviValidatorManager.class.php
Log:
BREAKING CHANGE!
renamed validation modes:
normal => relaxed
tainted => conditional
strict => strict
Modified: trunk/src/validator/AgaviValidatorManager.class.php
===================================================================
--- trunk/src/validator/AgaviValidatorManager.class.php 2006-11-13 18:47:51 UTC
(rev 1334)
+++ trunk/src/validator/AgaviValidatorManager.class.php 2006-11-13 19:05:24 UTC
(rev 1335)
@@ -55,6 +55,23 @@
protected $result = AgaviValidator::SUCCESS;
/**
+ * All request variables are always available.
+ */
+ const MODE_RELAXED = 'relaxed';
+
+ /**
+ * All request variables are available when no validation defined else
only
+ * validated request variables are available.
+ */
+ const MODE_CONDITIONAL = 'conditional';
+
+ /**
+ * Only validated request variables are available.
+ */
+ const MODE_STRICT = 'strict';
+
+
+ /**
* initializes the validator manager.
*
* @param AgaviContext The context instance.
@@ -65,6 +82,14 @@
*/
public function initialize(AgaviContext $context, array $parameters =
array())
{
+ if(isset($parameters['mode'])) {
+ if(!in_array($parameters['mode'],
array(self::MODE_RELAXED, self::MODE_CONDITIONAL, self::MODE_STRICT))) {
+ throw new AgaviConfigurationException('Invalid
validation mode "' . $parameters['mode'] . '" specified');
+ }
+ } else {
+ $parameters['mode'] = self::MODE_RELAXED;
+ }
+
$this->context = $context;
$this->setParameters($parameters);
@@ -213,9 +238,9 @@
$ma = $this->getContext()->getRequest()->getModuleAccessor();
$aa = $this->getContext()->getRequest()->getActionAccessor();
- $mode = $this->getParameter('mode', 'normal');
+ $mode = $this->getParameter('mode');
- if($executedValidators == 0 && $mode == 'strict') {
+ if($executedValidators == 0 && $mode == self::MODE_STRICT) {
// strict mode and no validators executed -> clear the
parameters
$maParam = $parameters->getParameter($ma);
$aaParam = $parameters->getParameter($aa);
@@ -228,7 +253,7 @@
}
}
- if($mode == 'strict' || ($executedValidators > 0 && $mode ==
'tainted')) {
+ if($mode == self::MODE_STRICT || ($executedValidators > 0 &&
$mode == self::MODE_CONDITIONAL)) {
$asf = array_flip($allSucceededFields);
foreach($parameters->getParameters() as $name =>
$param) {
if(!isset($asf[$name]) && $name != $ma && $name
!= $aa) {
_______________________________________________
Agavi Commits Mailing List
commits@lists.agavi.org
http://lists.agavi.org/mailman/listinfo/commits