WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Получай пассивный доход от сайта с помощью браузерных PUSH уведомлений
функция не описана

Automattic\WooCommerce\Blocks\StoreApi\Schemas

AbstractAddressSchema::validate_callback() public WC 1.0

Validate the given address object.

{} Это метод класса: AbstractAddressSchema{}

Хуков нет.

Возвращает

true/\WP_Error. Ничего.

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

$AbstractAddressSchema = new AbstractAddressSchema();
$AbstractAddressSchema->validate_callback( $address, $request, $param );
$address(массив) (обязательный)
Value being sanitized.
$request(\WP_REST_Request) (обязательный)
The Request.
$param(строка) (обязательный)
The param being sanitized.

Заметки

Код AbstractAddressSchema::validate_callback() WC 5.2.2

<?php
public function validate_callback( $address, $request, $param ) {
	$errors  = new \WP_Error();
	$address = $this->sanitize_callback( $address, $request, $param );

	if ( empty( $address['country'] ) ) {
		$errors->add(
			'missing_country',
			__( 'Country is required', 'woocommerce' )
		);
		return $errors;
	}

	if ( ! in_array( $address['country'], array_keys( wc()->countries->get_countries() ), true ) ) {
		$errors->add(
			'invalid_country',
			sprintf(
				/* translators: %s valid country codes */
				__( 'Invalid country code provided. Must be one of: %s', 'woocommerce' ),
				implode( ', ', array_keys( wc()->countries->get_countries() ) )
			)
		);
		return $errors;
	}

	$states = array_filter( array_keys( (array) wc()->countries->get_states( $address['country'] ) ) );

	if ( ! empty( $address['state'] ) && count( $states ) && ! in_array( $address['state'], $states, true ) ) {
		$errors->add(
			'invalid_state',
			sprintf(
				/* translators: %s valid states */
				__( 'The provided state is not valid. Must be one of: %s', 'woocommerce' ),
				implode( ', ', $states )
			)
		);
	}

	if ( ! empty( $address['postcode'] ) && ! \WC_Validation::is_postcode( $address['postcode'], $address['country'] ) ) {
		$errors->add(
			'invalid_postcode',
			__( 'The provided postcode / ZIP is not valid', 'woocommerce' )
		);
	}

	return $errors->has_errors( $errors ) ? $errors : true;
}