Thanks for that , it looks elegant .
Could you please send some pointer to docs for Traits approach. regds mallah. > Not sure if that's the best way to do it or if it's a good approach, but I > have a trait which is applied to all result classes. > > TraitFor::Result::ForceNULL; > use strict; > use warnings; > > my $null = undef; > > sub insert > { > my $self = shift; > > for my $col ($self->columns) { > next unless defined $self->$col; > next unless $self->$col eq ""; > > my $info = $self->result_source->column_info($col); > $self->$col($null) if $info->{is_nullable}; > } > return $self->next::method(@_); > } > > sub update > { > my $self = shift; > my %to_update = $self->get_dirty_columns; > > return $self->next::method(@_) unless keys %to_update; > > for my $col (keys %to_update) { > next unless $to_update{$col} eq ""; > my $info = $self->result_source->column_info($col); > $self->{_column_data}{$col} = $null if $info->{is_nullable}; > } > return $self->next::method(@_); > } > > 1; > > Best regards > > On Thu, Mar 2, 2017 at 5:14 PM, Rajesh Kumar Mallah <mal...@redgrape.tech> > wrote: > >> >> By empty i mean string with length 0 ie '' >> >> __CODE__ >> >> >> I am posting to rest endpoint Automagically generated via >> Catalyst::Controller::DBIC::API there is no explicit code hand >> written by me.And that is why looking for a global filter. >> >> There are three great virtues of a programmer; Laziness, Impatience and >> Hubris -- Larry Wall. >> >> >> >> > Just curious: when you say "prefilled with nothing", you mean the >> field >> is >> > empty, or the field is filled with one or more white spaces (like " >> "), >> or >> > the field is a <select> with the first <option> having the attribute >> > "value" equals to ""? Or something else? >> > >> > gil >> > >> > On Thu, Mar 02, 2017 at 10:25:27AM -0500, Rajesh Kumar Mallah wrote: >> >> >> >> Hi , >> >> >> >> I want to transform request parameters in GET & POST requests >> >> so that any thing which is empty (string) gets converted/replaced >> >> my perl's undef (and DBIC's NULL). >> >> >> >> Why i need that: >> >> ==================== >> >> I have edit form in my web app and some fields in the edit form >> >> are prefilled with nothing. On submission the DB raises an exception >> >> that an empty string is being inserted to a integer field. >> >> >> >> Hence I feel like having a global filter that turns all blanks to >> >> undef. >> >> >> >> The question is where to put this global filter. >> >> >> >> Regds >> >> mallah. >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> List: Catalyst@lists.scsys.co.uk >> >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> >> Searchable archive: >> >> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ >> >> Dev site: http://dev.catalyst.perl.org/ >> > >> > _______________________________________________ >> > List: Catalyst@lists.scsys.co.uk >> > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> > Searchable archive: >> > http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ >> > Dev site: http://dev.catalyst.perl.org/ >> > >> >> >> >> >> >> _______________________________________________ >> List: Catalyst@lists.scsys.co.uk >> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst >> Searchable archive: http://www.mail-archive.com/ >> catalyst@lists.scsys.co.uk/ >> Dev site: http://dev.catalyst.perl.org/ >> > _______________________________________________ > List: Catalyst@lists.scsys.co.uk > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ > Dev site: http://dev.catalyst.perl.org/ > _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/