PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.6
JetFormBuilder — Dynamic Blocks Form Builder v3.6.6
3.6.6.1 3.6.6 3.6.5.4 3.6.5.3 3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 All 134 releases
jetformbuilder / modules / validation / advanced-rules / match-regexp-rule.php

match-regexp-rule.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.6, at modules/validation/advanced-rules/match-regexp-rule.php

51 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace JFB_Modules\Validation\Advanced_Rules;
5
6 use Jet_Form_Builder\Classes\Tools;
7 use JFB_Modules\Block_Parsers\Field_Data_Parser;
8 use JFB_Modules\Validation\Advanced_Rules\Interfaces\Rule_Collect_Error_It;
9 use JFB_Modules\Validation\Advanced_Rules\Interfaces\Rule_Field_Dependence_It;
10 use JFB_Modules\Validation\Advanced_Rules\Traits\Rule_Collect_Error_Trait;
11 use JFB_Modules\Validation\Advanced_Rules\Traits\Rule_Field_Dependence_Trait;
12
13 // If this file is called directly, abort.
14 if ( ! defined( 'WPINC' ) ) {
15 die;
16 }
17
18 class Match_Regexp_Rule extends Rule implements Rule_Field_Dependence_It, Rule_Collect_Error_It {
19
20 use Rule_Field_Dependence_Trait;
21 use Rule_Collect_Error_Trait;
22
23 public function get_id(): string {
24 return 'regexp';
25 }
26
27 public function get_label(): string {
28 return __( 'Matches regular expression', 'jet-form-builder' );
29 }
30
31 public function get_control_label(): string {
32 return __( 'Regular expression', 'jet-form-builder' );
33 }
34
35 public function validate_field( Field_Data_Parser $parser ) {
36 $regexp = Tools::to_string( $this->get_field_value( $parser ) );
37 $field_value = Tools::to_string( $parser->get_value() );
38
39 if ( $regexp &&
40 preg_match(
41 sprintf( '/%s/', $regexp ),
42 $field_value
43 )
44 ) {
45 return;
46 }
47
48 $this->collect_error( $parser );
49 }
50 }
51