rest_validate_enum()
Validates that the given value is a member of the JSON Schema "enum".
Хуков нет.
Возвращает
true|WP_Error
. True if the "enum" contains the value or a WP_Error instance otherwise.
Использование
rest_validate_enum( $value, $args, $param );
- $value(разное) (обязательный)
- The value to validate.
- $args(массив) (обязательный)
- The schema array to use.
- $param(строка) (обязательный)
- The parameter name, used in error messages.
Список изменений
С версии 5.7.0 | Введена. |
Код rest_validate_enum() rest validate enum WP 6.3.1
function rest_validate_enum( $value, $args, $param ) { $sanitized_value = rest_sanitize_value_from_schema( $value, $args, $param ); if ( is_wp_error( $sanitized_value ) ) { return $sanitized_value; } foreach ( $args['enum'] as $enum_value ) { if ( rest_are_values_equal( $sanitized_value, $enum_value ) ) { return true; } } $encoded_enum_values = array(); foreach ( $args['enum'] as $enum_value ) { $encoded_enum_values[] = is_scalar( $enum_value ) ? $enum_value : wp_json_encode( $enum_value ); } if ( count( $encoded_enum_values ) === 1 ) { /* translators: 1: Parameter, 2: Valid values. */ return new WP_Error( 'rest_not_in_enum', wp_sprintf( __( '%1$s is not %2$s.' ), $param, $encoded_enum_values[0] ) ); } /* translators: 1: Parameter, 2: List of valid values. */ return new WP_Error( 'rest_not_in_enum', wp_sprintf( __( '%1$s is not one of %2$l.' ), $param, $encoded_enum_values ) ); }