PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / 4.1.40
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager v4.1.40
4.1.41 4.1.40 4.1.39 4.1.38 trunk 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.10 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.4 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.10 3.5.11 3.5.12 3.5.13 3.5.14 3.5.15 3.5.16 3.5.17 3.5.18 3.5.19 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 4.0.0 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.16 4.1.17 4.1.18 4.1.19 4.1.2 4.1.20 4.1.21 4.1.22 4.1.23 4.1.24 4.1.25 4.1.26 4.1.27 4.1.28 4.1.29 4.1.3 4.1.30 4.1.31 4.1.32 4.1.34 4.1.35 4.1.36 4.1.37 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9
flexible-checkout-fields / src / Validator / ValidationClassGenerator.php
flexible-checkout-fields / src / Validator Last commit date
Error 4 weeks ago Rule 4 weeks ago FieldValidator.php 4 weeks ago ValidationClassGenerator.php 4 weeks ago
ValidationClassGenerator.php
55 lines
1 <?php
2
3 namespace WPDesk\FCF\Free\Validator;
4
5 use FcfVendor\WPDesk\PluginBuilder\Plugin\Hookable;
6 use WPDesk\FCF\Free\Settings\Option\CssOption;
7 use WPDesk\FCF\Free\Settings\Option\RequiredOption;
8 use WPDesk\FCF\Free\Settings\Option\ValidationOption;
9
10 /**
11 * Adds validation classes to the field template.
12 */
13 class ValidationClassGenerator implements Hookable {
14
15 /**
16 * {@inheritdoc}
17 */
18 public function hooks() {
19 add_filter( 'flexible_checkout_fields_field_args', [ $this, 'add_validation_required_class' ], 10, 2 );
20 add_filter( 'flexible_checkout_fields_field_args', [ $this, 'add_validation_type_class' ], 10, 2 );
21 }
22
23 /**
24 * @param mixed[] $field_data .
25 * @param string $field_name .
26 *
27 * @return mixed[]
28 */
29 public function add_validation_required_class( array $field_data, string $field_name ): array {
30 $field_required = $field_data[ RequiredOption::FIELD_NAME ] ?? '';
31 if ( ! $field_required ) {
32 return $field_data;
33 }
34
35 $field_data[ CssOption::FIELD_NAME ] .= ' validate-required';
36 return $field_data;
37 }
38
39 /**
40 * @param mixed[] $field_data .
41 * @param string $field_name .
42 *
43 * @return mixed[]
44 */
45 public function add_validation_type_class( array $field_data, string $field_name ): array {
46 $validation_type = $field_data[ ValidationOption::FIELD_NAME ] ?? '';
47 if ( ! $validation_type ) {
48 return $field_data;
49 }
50
51 $field_data[ CssOption::FIELD_NAME ] .= sprintf( ' validate-%s', $validation_type );
52 return $field_data;
53 }
54 }
55