PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / trunk
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager vtrunk
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 1 week ago Rule 1 week ago FieldValidator.php 1 week ago ValidationClassGenerator.php 1 week 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