def pre_add(self, item: "AlertModelView") -> None:
        item.recipients = get_email_address_str(item.recipients)

        if not croniter.is_valid(item.crontab):
            raise SupersetException("Invalid crontab format")

        item.validator_type = item.validator_type.lower()
        check_validator(item.validator_type, item.validator_config)
    def process_form(self, form: Form, is_created: bool) -> None:
        email_recipients = None
        if form.test_email_recipients.data:
            email_recipients = get_email_address_str(
                form.test_email_recipients.data)

        self._extra_data["test_alert"] = form.test_alert.data
        self._extra_data["test_email_recipients"] = email_recipients
    def process_form(self, form: Form, is_created: bool) -> None:
        email_recipients = None
        if form.test_email_recipients.data:
            email_recipients = get_email_address_str(
                form.test_email_recipients.data)

        test_slack_channel = (form.test_slack_channel.data.strip()
                              if form.test_slack_channel.data else None)

        self._extra_data["test_alert"] = form.test_alert.data
        self._extra_data["test_email_recipients"] = email_recipients
        self._extra_data["test_slack_channel"] = test_slack_channel
    def pre_add(self, item: "AlertModelView") -> None:
        item.recipients = get_email_address_str(item.recipients)

        if not croniter.is_valid(item.crontab):
            raise SupersetException("Invalid crontab format")