Skip to content

class Athena::Validator::Constraints::NotNil
inherits Athena::Validator::Constraint #

Validates that a value is not nil.


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.


Optional Arguments#


Type: String Default: This value should not be null.

The message that will be shown if the value is nil.


The following placeholders can be used in this message:

  • {{ value }} - The current (invalid) value.

Type: Array(String) | String | Nil Default: nil

The validation groups this constraint belongs to. AVD::Constraint::DEFAULT_GROUP is assumed if nil.


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.


IS_NIL_ERROR = "c7e77b14-744e-44c0-aa7e-391c69cc335c" #

Class methods#

.new(message : String = "This value should not be null.", groups : Array(String) | String | Nil = nil, payload : Hash(String, String)? = nil) #

View source


#validated_by : AVD::ConstraintValidator.class #

Returns the AVD::ConstraintValidator.class that should handle validating self.

View source