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.