WC_REST_Payment_Gateways_Controller::validate_setting_multiselect_field
Validate multiselect based settings (with support for nested options).
Method of the class: WC_REST_Payment_Gateways_Controller{}
No Hooks.
Returns
Array|WP_Error.
Usage
$WC_REST_Payment_Gateways_Controller = new WC_REST_Payment_Gateways_Controller(); $WC_REST_Payment_Gateways_Controller->validate_setting_multiselect_field( $values, $setting );
- $values(array|string) (required)
- The submitted values.
- $setting(array) (required)
- The field settings.
WC_REST_Payment_Gateways_Controller::validate_setting_multiselect_field() WC REST Payment Gateways Controller::validate setting multiselect field code WC 10.3.6
public function validate_setting_multiselect_field( $values, $setting ) {
if ( empty( $values ) ) {
return array();
}
if ( ! is_array( $values ) ) {
return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'woocommerce' ), array( 'status' => 400 ) );
}
$valid_keys = $this->flatten_options_keys( $setting['options'] );
$final_values = array();
foreach ( $values as $value ) {
if ( in_array( $value, $valid_keys, true ) ) {
$final_values[] = $value;
}
}
return $final_values;
}