package MediaBlogger::Form::Admin::Create_Post;
use strict;
use warnings;
use HTML::FormHandler::Moose;
extends 'HTML::FormHandler::Model::DBIC';
with 'HTML::FormHandler::Render::Table';
has '+item_class' => ( default => 'Post' );
has_field 'my_file' => ( type => 'Upload', required => 1 );
has_field 'affiliates' => ( type => 'Select', widget => 'radio_group', multiple => 0, required => 1,
options => [{ value => 'new', label => 'New'}, { value => 'old', label => 'Old' }, { value => 'none', label => 'None'} ] );
has_field 'affiliate_link' => ( type => 'Text' );
has_field 'short_affiliate_link' => ( type => 'Text' );
has_field 'title' => ( type => 'Text', required => 1 );
has_field 'description' => ( type => 'Text', required => 1 );
has_field 'submit' => ( type => 'Submit', value => 'Submit' );
has '+dependency' => ( default => sub { [
['affiliate_link', 'short_affiliate_link'],] }
);
before 'validate_form' => sub {
my $self = shift;
my $required = 0;
if( $self->params('affiliates') eq 'new' ) {
$required = 1;
}
$self->field('affiliate_link')->required($required);
$self->field('short_affiliate_link')->required($required);
};
####
Caught exception in MediaBlogger::Controller::Admin->sets "Attribute (params) does not pass the type constraint because: Validation failed for 'HashRef' failed with value affiliates at C:\Catalyst App2\MediaBlogger\lib/MediaBlogger/Form/Admin/Create_Post.pm line 29
##
##
if( $self->params('affiliates') eq 'new' ) {