Simple Constraints 

package Article;

use Moose;

use DateTime;

has 'title'   => (is => 'rw', isa => 'Str', required => 1);
has 'body'    => (is => 'rw', isa => 'Str', required => 1);
has 'created' => (
    is       => 'rw',
    isa      => 'DateTime',
    required => 1,
    default  => sub { DateTime->now() },
);