On 28.1.2011 20:28, Hans Dieter Pearcey wrote:
On Fri, 28 Jan 2011 20:23:32 +0100, Jiří Pavlovský<j...@getnet.cz>  wrote:
subtype 'Subject'
=>  as 'Str';

coerce 'Subject'
=>  from 'Str'
=>  via {

      my $sanitized = sanitize_input($_);
      $sanitized;

};
This will never fire.  Every valid Str is already a valid Subject, so no
coercion will run.

Add a constraint to Subject.

   subtype 'Subject', as 'Str', where { is_clean($_) };
   coerce 'Subject', from 'Str', via { sanitize($_) };

Thanks, now I got it working
subtype MaybeSubject =>  as 'Maybe[Subject]';
coerce 'MaybeSubject'
=>  from 'Subject'
=>  via {
     my $sanitized =sanitize_input($_);
      $sanitized;

};
This doesn't make any sense to me.


Otherwise I get an error that attribute cannot have coearcion unless its type has coearcion.

Reply via email to