Business-AU-Ledger

 view release on metacpan or  search on metacpan

lib/Business/AU/Ledger/Util/Validate.pm  view on Meta::CPAN

# --------------------------------------------------

sub initialize_receipts
{
	my($self) = @_;

	return Data::FormValidator -> check($self -> query, $self -> initialize_receipts_profile);

} # End of initialize_receipts.

# -----------------------------------------------

sub initialize_receipts_profile
{
	my($self) = @_;

	return
	{
		constraint_methods =>
		{
			initialize => sub {return validate_month(pop)},
			month      => sub {return validate_month(pop)},
			rm         => sub {return pop eq 'initialize_receipts' ? 1 : 0},
		},
		field_filters =>
		{	# These apply before constraints.
			initialize => sub {return filter_initialize(shift)},
		},
		filters                => [sub {return clean_user_data(shift, 250)}, 'strip'],
		missing_optional_valid => 1,
		msgs                   =>
		{
			any_errors => 'error',
			prefix     => 'field_',
		},
		required => [qw/initialize month rm sid/],
	};

} # End of initialize_receipts_profile.

# --------------------------------------------------

sub payment
{
	my($self) = @_;

	return Data::FormValidator -> check($self -> query, $self -> payment_profile);

} # End of payment.

# -----------------------------------------------

sub payment_profile
{
	my($self) = @_;

	return
	{
		constraint_method_regexp_map =>
		{
			qr/(?:(?:|gst_|private_use_|)amount|petty_cash_(?:in|out)|private_use_percent)/ => validate_amount(),
		},
		constraint_methods =>
		{
			day   => sub {return validate_day(pop)},
			month => sub {return validate_month(pop)},
			rm    => sub {return pop eq 'submit_payment' ? 1 : 0},
		},
		filters                => [sub {return clean_user_data(shift, 250)}, 'strip'],
		missing_optional_valid => 1,
		msgs                   =>
		{
			any_errors => 'error',
			prefix     => 'field_',
		},
		optional_regexp => qr/^(?:gst_amount|gst_code|petty_cash_in|petty_cash_out|private_use_amount|private_use_percent|reference|tx_detail)_\d+$/,
		required        => [qw/month rm sid/],
		required_regexp => qr/^(?:amount|category_code|day|payment_method|submit)_\d+$/,
	};

} # End of payment_profile.

# --------------------------------------------------

sub receipt
{
	my($self) = @_;

	return Data::FormValidator -> check($self -> query, $self -> receipt_profile);

} # End of receipt.

# -----------------------------------------------

sub receipt_profile
{
	my($self) = @_;

	return
	{
		constraint_methods=>
		{
			day   => sub {return validate_day(pop)},
			month => sub {return validate_month(pop)},
			rm    => sub {return pop eq 'submit_receipt' ? 1 : 0},
		},
		filters                => [sub {return clean_user_data(shift, 250)}, 'strip'],
		missing_optional_valid => 1,
		msgs                   =>
		{
			any_errors => 'error',
			prefix     => 'field_',
		},
		optional_regexp => qr/^(?:bank_amount|comment|gst_amount|gst_code|reference|tx_detail)_\d+$/,
		required        => [qw/month rm sid/],
		required_regexp => qr/^(?:amount|category_code|day|submit)_\d+$/,
	};

} # End of receipt_profile.

# --------------------------------------------------

sub update_context
{
	my($self) = @_;

	return Data::FormValidator -> check($self -> query, $self -> update_context_profile);

} # End of update_context.

# -----------------------------------------------

sub update_context_profile
{
	my($self) = @_;



( run in 1.227 second using v1.01-cache-2.11-cpan-ad19def0cd9 )