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.