public void validate() throws IllegalArgumentException {

        // Message checks
        if (isNullOrEmpty(message)) throw new GeneralException(MESSAGE_EMPTY);
        if (message.length() > MESSAGE_MAX_LENGTH) throw new GeneralException(MESSAGE_TOO_LONG);

        // Author name checks
        if (isNullOrEmpty(authorName)) throw new GeneralException(AUTHOR_EMPTY);
        if (authorName.length() > NAME_MAX_LENGTH) throw new GeneralException(NAME_TOO_LONG);
        if (authorName.length() < NAME_MIN_LENGTH) throw new GeneralException(NAME_TOO_SHORT);
        if (!authorName.startsWith("@")) throw new GeneralException(AUTHOR_AROBAS);

        // Author email checks
        if (isNullOrEmpty(authorEmail)) throw new GeneralException(EMAIL_EMPTY);
        if (authorEmail.length() > EMAIL_MAX_LENGTH) throw new GeneralException(EMAIL_TOO_LONG);
        if (!isEmailValid(authorEmail)) throw new GeneralException(EMAIL_INVALID);
    }