NAME
Poz::Types::number - A module for number type validation and coercion
SYNOPSIS
my
$number
= z->number;
# Validate a number
$number
->rule(42);
# No error
# Coerce a value to a number
my
$coerced_value
=
$number
->coerce(
"42.5"
);
# Add validation rules
$number
->gt(10)->lt(100);
# Validate with custom rules
$number
->rule(50);
# No error
DESCRIPTION
Poz::Types::number is a module for validating and coercing number types. It provides various methods to enforce constraints on numbers, such as greater than, less than, integer, positive, negative, and multiples of a given number.
METHODS
rule
$number
->rule(
$value
);
Validates the given value against the defined rules. Throws an error if the value is invalid.
coerce
my
$coerced_value
=
$number
->coerce(
$value
);
Coerces the given value to a number.
gt
$number
->gt(
$min
, \
%opts
);
Adds a rule to ensure the value is greater than the specified minimum.
gte
$number
->gte(
$min
, \
%opts
);
Adds a rule to ensure the value is greater than or equal to the specified minimum.
lt
$number
->lt(
$max
, \
%opts
);
Adds a rule to ensure the value is less than the specified maximum.
lte
$number
->lte(
$max
, \
%opts
);
Adds a rule to ensure the value is less than or equal to the specified maximum.
int
$number
->
int
(\
%opts
);
Adds a rule to ensure the value is an integer.
positive
$number
->positive(\
%opts
);
Adds a rule to ensure the value is a positive number.
negative
$number
->negative(\
%opts
);
Adds a rule to ensure the value is a negative number.
nonpositive
$number
->nonpositive(\
%opts
);
Adds a rule to ensure the value is a non-positive number.
nonnegative
$number
->nonnegative(\
%opts
);
Adds a rule to ensure the value is a non-negative number.
multipleOf
$number
->multipleOf(
$divisor
, \
%opts
);
Adds a rule to ensure the value is a multiple of the specified divisor.
step
$number
->step(
$divisor
, \
%opts
);
Synonym for `multipleOf`.
LICENSE
Copyright (C) ytnobody.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
ytnobody <ytnobody@gmail.com>