caped esc_attr( $choice['required'] ), checked( '1', $choice['default'], false ) ); printf( '', wpforms_html_attributes( $choice['label']['id'], $choice['label']['class'], $choice['label']['data'], $choice['label']['attr'] ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped wp_kses_post( $label ) ); } echo ''; } echo ''; } /** * Validate field on form submit. * * @since 1.8.2 * * @param int $field_id Field ID. * @param array $field_submit Submitted form data. * @param array $form_data Form data and settings. */ public function validate( $field_id, $field_submit, $form_data ) { // Basic required check - If field is marked as required, check for entry data. if ( ! empty( $form_data['fields'][ $field_id ]['required'] ) && empty( $field_submit ) ) { wpforms()->get( 'process' )->errors[ $form_data['id'] ][ $field_id ] = wpforms_get_required_label(); } // Validate that the option selected is real. if ( ! empty( $field_submit ) && empty( $form_data['fields'][ $field_id ]['choices'][ $field_submit ] ) ) { wpforms()->get( 'process' )->errors[ $form_data['id'] ][ $field_id ] = esc_html__( 'Invalid payment option.', 'wpforms-lite' ); } } /** * Format and sanitize field. * * @since 1.8.2 * * @param int $field_id Field ID. * @param string $field_submit Submitted form data. * @param array $form_data Form data and settings. */ public function format( $field_id, $field_submit, $form_data ) { $field = $form_data['fields'][ $field_id ]; $name = sanitize_text_field( $field['label'] ); $value = ''; $amount = 0; $choice_label = ''; $image = ''; if ( ! empty( $field_submit ) && ! empty( $field['choices'][ $field_submit ] ) ) { $amount = wpforms_sanitize_amount( $field['choices'][ $field_submit ]['value'] ); $value = wpforms_format_amount( $amount, true ); if ( ! empty( $field['choices'][ $field_submit ]['label'] ) ) { $choice_label = sanitize_text_field( $field['choices'][ $field_submit ]['label'] ); $value = $choice_label . ' - ' . $value; } if ( ! empty( $field['choices_images'] ) ) { $image = ! empty( $field['choices'][ $field_submit ]['image'] ) ? esc_url_raw( $field['choices'][ $field_submit ]['image'] ) : ''; } } wpforms()->get( 'process' )->fields[ $field_id ] = [ 'name' => $name, 'value' => $value, 'value_choice' => $choice_label, 'value_raw' => sanitize_text_field( $field_submit ), 'amount' => wpforms_format_amount( $amount ), 'amount_raw' => $amount, 'currency' => wpforms_get_currency(), 'image' => $image, 'id' => absint( $field_id ), 'type' => sanitize_key( $this->type ), ]; } }