[limb-svn] r5806 - in 3.x/trunk/limb/validation: src/rule tests/cases/rule

svn at limb-project.com svn at limb-project.com
Fri May 4 18:06:34 MSD 2007


Author: pachanga
Date: 2007-05-04 18:06:34 +0400 (Fri, 04 May 2007)
New Revision: 5806
URL: http://fisheye.limb-project.com/changelog/limb/?cs=5806

Modified:
   3.x/trunk/limb/validation/src/rule/lmbAtleastOneFieldRequiredRule.class.php
   3.x/trunk/limb/validation/tests/cases/rule/lmbAtleastOneFieldRequiredRuleTest.class.php
Log:
-- lmbAtleastOneFieldRequiredRule now accepts fields only as array since passing custom error was not possible otherwise

Modified: 3.x/trunk/limb/validation/src/rule/lmbAtleastOneFieldRequiredRule.class.php
===================================================================
--- 3.x/trunk/limb/validation/src/rule/lmbAtleastOneFieldRequiredRule.class.php	2007-05-04 14:05:40 UTC (rev 5805)
+++ 3.x/trunk/limb/validation/src/rule/lmbAtleastOneFieldRequiredRule.class.php	2007-05-04 14:06:34 UTC (rev 5806)
@@ -16,7 +16,7 @@
 * Example of usage:
 * <code>
 * lmb_require('limb/validation/src/rule/lmbAtleastOneFieldRequiredRule.class.php');
-* $validator->addRule(new lmbAtleastOneFieldRequiredRule('name', 'nickname', 'fullname'));
+* $validator->addRule(new lmbAtleastOneFieldRequiredRule(array('name', 'nickname', 'fullname')));
 * </code>
 */
 class lmbAtleastOneFieldRequiredRule implements lmbValidationRule
@@ -30,21 +30,10 @@
   */
   protected $custom_error;
 
-  /**
-  * Constructor
-  * Can accepts any number of arguments. All arguments will be save into $field_names array
-  */
-  function __construct()
+  function __construct($field_names, $custom_error = '')
   {
-    $args = func_get_args();
-
-    if(is_array($args[0]))
-    {
-      $this->field_names = $args[0];
-      $this->custom_error = isset($args[1]) ? $args[1] : '';
-    }
-    else
-      $this->field_names = $args;
+    $this->field_names = $field_names;
+    $this->custom_error = $custom_error;
   }
 
   /**

Modified: 3.x/trunk/limb/validation/tests/cases/rule/lmbAtleastOneFieldRequiredRuleTest.class.php
===================================================================
--- 3.x/trunk/limb/validation/tests/cases/rule/lmbAtleastOneFieldRequiredRuleTest.class.php	2007-05-04 14:05:40 UTC (rev 5805)
+++ 3.x/trunk/limb/validation/tests/cases/rule/lmbAtleastOneFieldRequiredRuleTest.class.php	2007-05-04 14:06:34 UTC (rev 5806)
@@ -18,7 +18,7 @@
   {
     $dataspace = new lmbSet(array('field1' => 'whatever'));
 
-    $rule = new lmbAtleastOneFieldRequiredRule('field1', 'field2');
+    $rule = new lmbAtleastOneFieldRequiredRule(array('field1', 'field2'));
 
     $this->error_list->expectNever('addError');
 
@@ -29,7 +29,7 @@
   {
     $dataspace = new lmbSet();
 
-    $rule = new lmbAtleastOneFieldRequiredRule('field1', 'field2');
+    $rule = new lmbAtleastOneFieldRequiredRule(array('field1', 'field2'));
 
     $this->error_list->expectOnce('addError',
                                   array(lmb_i18n('Atleast one field required among: {fields}', array('{fields}' => '{0}, {1}'), 'validation'),
@@ -43,17 +43,6 @@
   {
     $dataspace = new lmbSet(array('field3' => 'whatever'));
 
-    $rule = new lmbAtleastOneFieldRequiredRule('field1', 'field2', 'field3');
-
-    $this->error_list->expectNever('addError');
-
-    $rule->validate($dataspace, $this->error_list);
-  }
-
-  function testValidWithConstructorAcceptingArrayOfFields()
-  {
-    $dataspace = new lmbSet(array('field3' => 'whatever'));
-
     $rule = new lmbAtleastOneFieldRequiredRule(array('field1', 'field2', 'field3'));
 
     $this->error_list->expectNever('addError');
@@ -65,7 +54,7 @@
   {
     $dataspace = new lmbSet();
 
-    $rule = new lmbAtleastOneFieldRequiredRule('field1', 'field2', 'field3');
+    $rule = new lmbAtleastOneFieldRequiredRule(array('field1', 'field2', 'field3'));
 
     $this->error_list->expectOnce('addError',
                                   array(lmb_i18n('Atleast one field required among: {fields}', array('{fields}' => '{0}, {1}, {2}'), 'validation'),



More information about the limb-svn mailing list