Example
package User;
use Ernst;
has 'username' => (
is => 'ro',
isa => 'Str',
traits => ['MetaDescription'],
description => {
type => 'String',
traits => [qw/CSS TT::Snippet Validation Collection/],
max_length => 64,
expected_length => 40,
unique_attribute => 1,
css_id => '#openid',
snippet_class => 'MyApp::Snippet::OpenID'
validate => [
{ regexp => qr{^http://},
error => 'Your OpenID must start with http://', }
],
},
);
continued...