Automattic\WooCommerce\Internal\OrderWithdrawal

OrderWithdrawalFormProcessor::validate_form_data │ private │ WC 1.0

Validate the form data.

Method of the class: OrderWithdrawalFormProcessor{}

No Hooks.

Returns

array<string,string>.

Usage

// private - for code of main (parent) class only
$result = $this->validate_form_data( $data ): array;
$data(array<string,string>) (required)
Form data.

OrderWithdrawalFormProcessor::validate_form_data() code WC 11.1.2

private function validate_form_data( array $data ): array {
	$errors = array();

	if ( '' === $data[ self::FIELD_FIRST_NAME ] ) {
		$errors[ self::FIELD_FIRST_NAME ] = __( 'First name is a required field.', 'woocommerce' );
	}

	if ( '' === $data[ self::FIELD_LAST_NAME ] ) {
		$errors[ self::FIELD_LAST_NAME ] = __( 'Last name is a required field.', 'woocommerce' );
	}

	if ( '' === $data[ self::FIELD_EMAIL ] || ! is_email( $data[ self::FIELD_EMAIL ] ) ) {
		$errors[ self::FIELD_EMAIL ] = __( 'Enter a valid email address.', 'woocommerce' );
	}

	if ( '' === $data[ self::FIELD_EMAIL_CONFIRMATION ] ) {
		$errors[ self::FIELD_EMAIL_CONFIRMATION ] = __( 'Confirm email address is a required field.', 'woocommerce' );
	} elseif ( 0 !== strcasecmp( $data[ self::FIELD_EMAIL ], $data[ self::FIELD_EMAIL_CONFIRMATION ] ) ) {
		$errors[ self::FIELD_EMAIL_CONFIRMATION ] = __( 'Email addresses do not match.', 'woocommerce' );
	}

	if ( '' === $data[ self::FIELD_ORDER_NUMBER ] ) {
		$errors[ self::FIELD_ORDER_NUMBER ] = __( 'Order number is a required field.', 'woocommerce' );
	}

	if ( ! in_array( $data[ self::FIELD_WITHDRAWAL_TYPE ], array( self::WITHDRAWAL_TYPE_FULL, self::WITHDRAWAL_TYPE_SPECIFIC ), true ) ) {
		$errors[ self::FIELD_WITHDRAWAL_TYPE ] = __( 'Choose what you want to withdraw.', 'woocommerce' );
	}

	if ( self::WITHDRAWAL_TYPE_SPECIFIC === $data[ self::FIELD_WITHDRAWAL_TYPE ] && '' === $data[ self::FIELD_ADDITIONAL_DETAILS ] ) {
		$errors[ self::FIELD_ADDITIONAL_DETAILS ] = __( 'List the specific items you want to withdraw.', 'woocommerce' );
	}

	return $errors;
}