Waigani ha scritto:
I'm testing with '1' as the input value for startPage. While debugging I
found that $context was not set, not even an empty array. What an I missing?

In italy we say "Tu sbagli candeggio" (for people +30 years old).

How do you call this Validator ?
You need to set  $context in the __construct() method.

try this:

class My_Validator_PageNo extends Zend_Validate_Abstract
{
   const NO_END = 'noEnd';
   const NO_START = 'noStart';

   private $_context;

   protected $_messageTemplates = array(
       self::NO_END => 'A start page has been entered, you must specify an
end page',
self::NO_START => 'An end page has been entered, you must specify a start
page'
   );

   function __construct($context = null) {
       $this->_context = $context;
   }

   public function isValid($value)
   {
$value = (string) $value;
       $this->_setValue($value);
if (!empty($this->_context['startPage'])
            &&  empty($this->_context['endPage']))
           {
               $this->_error(self::NO_END);
               return false;
           }
        else if (! empty($this->_context['endPage'])
             &&  empty($this->_context['startPage']))
           {
               $this->_error(self::NO_START);
               return false;
           }
return true;
   }
}

And call in this way : ->addValidator(new My_Validator_PageNo($context));

And I see that in your Validator you use only $context and not $value so why this ? Can you send the code where you set the Validator ?

And sorry for my bad english.

M.

--
Michel 'ZioBudda' Morelli                       [EMAIL PROTECTED]
Consulenza sistemistica in ambito OpenSource.
Sviluppo applicazioni web dinamiche (LAMP+Ajax)
Telefono: 0200619074
Telefono Cell: +39-3939890025 --  Fax: +39-0291390660

http://www.ziobudda.net ICQ: 58351764 http://www.ziobuddalabs.it Skype: zio_budda http://www.ajaxblog.it MSN: [EMAIL PROTECTED] JABBER: [EMAIL PROTECTED]

Reply via email to