sorry to disturb but i really don't get it working.
It starts already that in the constructor the $_fieldsToCompare array stays
empty. While this is the way i instantiate the validator:

$evtEndDate->addValidator('CompareDates',false,array<http://www.php.net/array>
($evtStartDate));

this is the full code

http://pastebin.com/f5f36971f

On Wed, Dec 30, 2009 at 7:46 PM, Hector Virgen <[email protected]> wrote:

> You might want to look at the Zend_Date documentation for comparing dates.
>
>
> http://framework.zend.com/manual/en/zend.date.overview.html#zend.date.others.comparison
>
>
> <http://framework.zend.com/manual/en/zend.date.overview.html#zend.date.others.comparison>You
> can hint to your validator (perhaps with another constructor argument) as to
> how to compare the dates... should A be before B, or after B, or equal to B?
>
> --
> Hector
>
>
>
> On Wed, Dec 30, 2009 at 10:42 AM, Jigal sanders <[email protected]>wrote:
>
>> Hello Hector,
>>
>> I already removed the validator by one of the date fields.
>> Now the problem is on how to compare the dates. I created date objects
>> from all the date fields within the validator. But I don't know how to do
>> the last part (i.e comparing the dates.) I converted the field values to
>> zend_date objects. But when I print the date object to the screen i get:
>>
>> array(1) { [0]=> object(Zend_Date)#109 (8) { ["_locale:private"]=>
>> string(5) "en_US" ["_fractional:private"]=> int(0) ["_precision:private"]=>
>> int(3) ["_unixTimestamp:private"]=> string(10) "1262127600"
>> ["_timezone:private"]=> string(16) "Europe/Amsterdam" ["_offset:private"]=>
>> int(-3600) ["_syncronised:private"]=> int(0) ["_dst:protected"]=> bool(true)
>> } }
>>
>>  See here the updated code:
>> http://pastebin.com/m6cb13d9d
>>
>>
>>
>> On Wed, Dec 30, 2009 at 6:19 PM, Hector Virgen <[email protected]>wrote:
>>
>>> It looks like you're adding the custom compareDates validator to both
>>> date elements. It might be easier to just put it in one.
>>>
>>> If you can determine that $a < $b, then you already know that $b > $a.
>>>
>>> Also, in the $evtStartDate element, you are setting the field to compare
>>> to $evtEndDate, which hasn't been created yet. Instead of passing in the
>>> element, try passing in the element's field name "evt_enddate" (as a
>>> string).
>>>
>>> I hope this helps.
>>>
>>> --
>>> Hector
>>>
>>>
>>>
>>> On Wed, Dec 30, 2009 at 5:16 AM, Jigal sanders <[email protected]>wrote:
>>>
>>>> Hello everyone,
>>>>
>>>>
>>>> I have a form with two date fields. One startdate and one enddate. I
>>>> want to make sure, the end date is not before the startdate.
>>>> I am trying to create my own validator. Now i based my validator on this
>>>> tutorial:
>>>> http://cogo.wordpress.com/2008/04/16/custom-validators-for-zend_form_element/
>>>> Here is my code: http://pastebin.com/f20aafd32  it's not yet ready.
>>>> My problem is at line 52 where the value of  $this->_fieldsToCompare is
>>>> empty all the time.
>>>> I also have problems in comparing the dates.
>>>>
>>>> Kan someone please help me along?
>>>>
>>>>
>>>> <http://cogo.wordpress.com/2008/04/16/custom-validators-for-zend_form_element/>
>>>>
>>>> Kind regards,
>>>>
>>>> J. Sanders
>>>>
>>>
>>>
>>
>>
>> --
>> Met vriendelijke groet,
>>
>> Jigal Sanders
>> A.J. Ernststraat 739
>> 1082 LK Amsterdam
>> Mobiel: 06-42111489
>>
>
>


-- 
Met vriendelijke groet,

Jigal Sanders
A.J. Ernststraat 739
1082 LK Amsterdam
Mobiel: 06-42111489

Reply via email to