Automattic\WooCommerce\Blocks\Domain\Services
CheckoutFields::validate_field()
Validate an additional field.
Метод класса: CheckoutFields{}
Хуки из метода
Возвращает
WP_Error
.
Использование
$CheckoutFields = new CheckoutFields(); $CheckoutFields->validate_field( $field, $field_value );
- $field(массив) (обязательный)
- The field.
- $field_value(разное) (обязательный)
- The value of the field.
Список изменений
С версии 8.6.0 | Введена. |
Код CheckoutFields::validate_field() CheckoutFields::validate field WC 9.8.1
public function validate_field( $field, $field_value ) { $errors = new WP_Error(); try { // Only validate if we have a field. if ( ! $field ) { return $errors; } if ( ! empty( $field['validate_callback'] ) && is_callable( $field['validate_callback'] ) ) { $validate_callback_result = call_user_func( $field['validate_callback'], $field_value, $field ); if ( is_wp_error( $validate_callback_result ) ) { $errors->merge_from( $validate_callback_result ); } } wc_do_deprecated_action( '__experimental_woocommerce_blocks_validate_additional_field', array( $errors, $field['id'], $field_value ), '8.7.0', 'woocommerce_validate_additional_field', 'This action has been graduated, use woocommerce_validate_additional_field instead.' ); /** * Pass an error object to allow validation of an additional field. * * @param WP_Error $errors A WP_Error object that extensions may add errors to. * @param string $field_key Key of the field being sanitized. * @param mixed $field_value The value of the field being validated. * * @since 8.7.0 */ do_action( 'woocommerce_validate_additional_field', $errors, $field['id'], $field_value ); } catch ( \Throwable $e ) { // One of the filters errored so skip them and validate the field. This allows the checkout process to continue. // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error trigger_error( sprintf( 'Field validation for %s encountered an error. %s', esc_html( $field_key ), esc_html( $e->getMessage() ) ), E_USER_WARNING ); } return $errors; }