view Lib/Schema/Form/Field.pm @ 81:077357224bec

IMPL::Web::Security alpha version IMPL::Security improovements
author Sergey
date Wed, 07 Apr 2010 14:45:34 +0400
parents 16ada169ca75
children 4267a2ac3d46
line wrap: on
line source

package Schema::Form::Field;
use strict;
use Common;
use base qw(Schema::Form::Item);

BEGIN {
    DeclareProperty Format => ACCESS_READ;
}

sub CTOR {
    my ($this,%args) = @_;
    
    $args{'Format'} or die new Exception('A format is required for a field');
    
    $args{'Attributes'} = { %{$args{Format}->Attributes},%{$args{Attributes} || {} } };
    
    $this->SUPER::CTOR(@args{qw(Name isMulti Filters Attributes)});
    $this->{$Format} = $args{'Format'};
}

=pod
Сначала применить фильтры формата а потом фильтры поля
=cut
sub Filters {
    my ($this) = @_;
    
    my @filters = $this->{$Format}->Filters;
    push @filters,$this->SUPER::Filters;
    
    return @filters;
}

1;