Skip to content


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.


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)


#validated_by : AVD::ConstraintValidator.class

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