Automattic\WooCommerce\Internal\PushNotifications\Validators

PushTokenValidator::validatepublic staticWC 10.6.0

Validates the fields defined in $fields, or all the list of known fields if $fields is empty.

Method of the class: PushTokenValidator{}

No Hooks.

Returns

true|false|WP_Error.

Usage

$result = PushTokenValidator::validate( $data, ?array $fields );
$data(array) (required)
The data to be validated.
?array $fields
.
Default: array()

Changelog

Since 10.6.0 Introduced.

PushTokenValidator::validate() code WC 10.8.1

public static function validate( array $data, ?array $fields = array() ) {
	$fields = empty( $fields ) ? self::VALIDATABLE_FIELDS : $fields;

	foreach ( $fields as $field ) {
		$method = 'validate_' . $field;

		if ( ! method_exists( self::class, $method ) ) {
			return new WP_Error(
				'woocommerce_invalid_data',
				sprintf( 'Can\'t validate param \'%s\' as a validator does not exist for it.', $field )
			);
		}

		$result = self::$method( $data[ $field ] ?? null, $data );

		if ( is_wp_error( $result ) ) {
			return $result;
		}
	}

	return true;
}