Automattic\WooCommerce\Internal\EmailEditor

EmailApiController::validate_email_dataprivateWC 1.0

Validate the email data.

Method of the class: EmailApiController{}

No Hooks.

Returns

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

Usage

// private - for code of main (parent) class only
$result = $this->validate_email_data( $data );
$data(array) (required)
- The email data.

EmailApiController::validate_email_data() code WC 10.3.6

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, "[email protected],[email protected]".
			__( '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, "[email protected],[email protected]".
			__( '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, "[email protected],[email protected]".
			__( '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;
}