class Athena::Validator::Constraints::NotNil
inherits Athena::Validator::Constraint
#
Validates that a value is not nil
.
Note
Due to Crystal's static typing, when validating objects the property's type must be nilable,
otherwise nil
is inherently not allowed due to the compiler's type checking.
class Post
include AVD::Validatable
def initialize(@title : String?, @description : String?); end
@[Assert::NotNil]
property title : String?
@[Assert::NotNil]
property description : String?
end
Configuration#
Optional Arguments#
message#
Type: String
Default: This value should not be null.
The message that will be shown if the value is nil
.
Placeholders#
The following placeholders can be used in this message:
{{ value }}
- The current (invalid) value.
groups#
Type: Array(String) | String | Nil
Default: nil
The validation groups this constraint belongs to.
AVD::Constraint::DEFAULT_GROUP
is assumed if nil
.
payload#
Type: Hash(String, String)?
Default: nil
Any arbitrary domain-specific data that should be stored with this constraint.
The payload is not used by Athena::Validator
, but its processing is completely up to you.
Constants#
IS_NIL_ERROR = "c7e77b14-744e-44c0-aa7e-391c69cc335c"
#
Constructors#
.new(message : String = "This value should not be null.", groups : Array(String) | String | Nil = nil, payload : Hash(String, String) | Nil = nil)
#
Methods#
#validated_by : AVD::ConstraintValidator.class
#
Returns the AVD::ConstraintValidator.class
that should handle validating self
.