Automattic\WooCommerce\Internal\EmailEditor

EmailApiController::validate_email_data │ private │ WC 1.0

Validate the email data.

Метод класса: EmailApiController{}

Хуков нет.

Возвращает

\WP_Error|null. Returns WP_Error if email validation fails, null otherwise.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->validate_email_data( $data );
$data(массив) (обязательный)
- The email data.

Код EmailApiController::validate_email_data() WC 11.2.2

private function validate_email_data( array $data ) {
	$error = new \WP_Error();

	// Validate 'recipient' email(s) field.
	$invalid_recipients = $this->filter_invalid_email_addresses( $data['recipient'] ?? '' );
	if ( ! empty( $invalid_recipients ) ) {
		$error_message = sprintf(
			// translators: %s will be replaced by comma-separated email addresses. For example, "invalidemail1@example.com,invalidemail2@example.com".
			__( 'One or more Recipient email addresses are invalid: “%s”. Please enter valid email addresses separated by commas.', 'woocommerce' ),
			implode( ',', $invalid_recipients )
		);
		$error->add( 'invalid_recipient_email_address', $error_message );
	}

	// Validate 'cc' email(s) field.
	$invalid_cc = $this->filter_invalid_email_addresses( $data['cc'] ?? '' );
	if ( ! empty( $invalid_cc ) ) {
		$error_message = sprintf(
			// translators: %s will be replaced by comma-separated email addresses. For example, "invalidemail1@example.com,invalidemail2@example.com".
			__( 'One or more CC email addresses are invalid: “%s”. Please enter valid email addresses separated by commas.', 'woocommerce' ),
			implode( ',', $invalid_cc )
		);
		$error->add( 'invalid_cc_email_address', $error_message );
	}

	// Validate 'bcc' email(s) field.
	$invalid_bcc = $this->filter_invalid_email_addresses( $data['bcc'] ?? '' );
	if ( ! empty( $invalid_bcc ) ) {
		$error_message = sprintf(
			// translators: %s will be replaced by comma-separated email addresses. For example, "invalidemail1@example.com,invalidemail2@example.com".
			__( 'One or more BCC email addresses are invalid: “%s”. Please enter valid email addresses separated by commas.', 'woocommerce' ),
			implode( ',', $invalid_bcc )
		);
		$error->add( 'invalid_bcc_email_address', $error_message );
	}

	if ( $error->has_errors() ) {
		return $error;
	}

	return null;
}