Field must exist, even if empty

@param null $message
@return $this
14227
public function exists( $message = null)
    {
        $this->setRule(__FUNCTION__, function ($val) {
            return null !== $val;
        }, $message);
        return $this;
    }
126596
public function digits($message = null)
    {
        $this->setRule(__FUNCTION__, function($val)
                       {
                           return (strlen($val) === 0 || ctype_digit((string) $val));
                       }, $message);
        return $this;
    }
866081
public function withDetail($key, $message)
    {
        assert(!is_null($key), 'Key must not be null');
        assert(!is_null($message), 'Message must not be null');
        $this->details[strval($key)] = $message;

        return $this;
    }
241663
protected function isValidMessage($message): Message
    {
        if ($message instanceof Message) {
            return $message;
        }

        if (\is_string($message) || $message instanceof Attachment) {
            return Message::create($message);
        }

        throw new MessengerException(sprintf(
            'message must be a string or an instance of %s or %s.',
            Message::class,
            Attachment::class
        ));
    }
198497
public static function turnHasBeenDealt($message = null)
    {
        $defaultMessage = 'The Turn has already been dealt!';
        $message = null === $message ? $defaultMessage : $message;

        return new static($message);
    }
684439
public function message(string $message)
    {
        $this->_validations[\count($this->_validations) - 1]['message'] = $message;

        return $this;
    }
163434
public function addMessage($message) {
        $this->message = trim(trim($this->message).NL.$message);
        return $this;
    }
715622
protected function assertFalse($condition, $message = null)
    {
        $this->context->assertFalse($condition, $message);

        return $this;
    }
841115
public function flash($message = null)
    {
        // set
        if ($message !== null) {
            $this->set('@flash', $message);
        } else { // get
            $message = $this->get('@flash');
            $this->remove('@flash');
            return $message;
        }
    }
586618
public function url($message = null)
    {
        $this->setRule(__FUNCTION__, function($val)
                       {
                           return (strlen(trim($val)) === 0 || filter_var($val, FILTER_VALIDATE_URL) !== FALSE);
                       }, $message);
        return $this;
    }
1002452
public function translate($message)
    {
        // message must be an array
        if (!is_array($message)) {
            return null;
        }

        // we must have a schema property
        if (!isset($message['schema'])) {
            return null;
        }

        // don't include the schema as an attribute
        $attributes = $message;
        unset($attributes['schema']);

        return new SchemaEvent($message['schema'], $attributes);
    }
263970
public function message($message)
    {
        if (isset($this->currentRule)) {
            static::$messages[$this->input.'.'.$this->currentRule] = $message;
        }

        return $this;
    }
34392
public static function flopHasBeenDealt($message = null)
    {
        $defaultMessage = 'The Flop has already been dealt!';
        $message = null === $message ? $defaultMessage : $message;

        return new static($message);
    }
256643
public function add($message = null, $type = 'notice')
    {
        if (!isset($this->messages[$type]) || !is_array($this->messages[$type])) {
            $this->messages[$type] = [];
        }
        if ($message) {
            $this->messages[$type][] = $message;
        }
        $this->writeToSession();
        return $this;
    }
1134915
public function createFromObject($message)
    {
        if (!is_object($message)) {
            throw new InvalidArgumentException('Message must be an object.');
        }

        return $this->create(get_class($message), $message);
    }
917286
public function setError($field, $message) {

    	$instance = $this -> getMessageInstance();

    	$instance :: setFieldnames([$field]);
		$instance :: setError($this -> getPrefix(), $field, $message);

		$this -> setPasses(false);

    	return $this;
    }
1247910
public function setFieldMessage(
        $fieldName,
        $message,
        $messageType = ValidationResult::TYPE_ERROR,
        $messageCast = ValidationResult::CAST_TEXT
    ) {
        $field = $this->fields->dataFieldByName($fieldName);
        if ($field) {
            $field->setMessage($message, $messageType, $messageCast);
        }
        return $this;
    }