def validation_command(self, validation_command):
        """Setup validation according to received argument.

        Parameters
        ==========
        validation_command (None, string or callable)
            check __init__ method's docstring for more
            info.
        """
        ### check whether the value received is present
        ### in the validation command map

        try:
            command = VALIDATION_COMMAND_MAP[validation_command]

        ### if it is absent, though...

        except KeyError:

            ## use the value as the command itself, if
            ## it is callable

            if callable(validation_command):
                command = validation_command

            ## otherwise, it means no valid validation
            ## command was given

            else:

                msg = (
                    "'validation_command' received invalid"
                    " input: {} (it must be a valid string"
                    " or callable)"
                ).format(repr(validation_command))

                raise ValueError(msg)

        ### check whether the value received is valid

        ## try validating
        try:
            value = command(self.value)

        ## if an exception occurred while validating,
        ## catch the exception and raise a new exception
        ## from it, explaining the context of such
        ## error

        except Exception as err:

            raise RuntimeError(
                "An exception was raised while using the"
                " specified validation command on the"
                " provided value"
            ) from err

        ## if validation works, but the result is false,
        ## raise a value error

        else:

            if not value:

                raise ValueError(
                    "the 'validation_command' received"
                    " doesn't validate the 'value' received."
                )

        ### finally, let's store the validation command
        self._validation_command = command
Setup validation according to received argument.

        Parameters
        ==========
        validation_command (None, string or callable)
            check __init__ method's docstring for more
            info.
        
nodezator/widget/textdisplay.py