From ab5754165fd799fed50fe7729041b01a7b6edb9a Mon Sep 17 00:00:00 2001 From: Sasha Ivanenko <46720998+girafffee@users.noreply.github.com> Date: Wed, 9 Aug 2023 09:21:43 +0300 Subject: [PATCH] FIX: base parser validation & text-field --- .../block-parsers/fields/text-field-parser.php | 2 +- modules/block-parsers/parser-context.php | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/modules/block-parsers/fields/text-field-parser.php b/modules/block-parsers/fields/text-field-parser.php index d89b94886..a7407aea7 100644 --- a/modules/block-parsers/fields/text-field-parser.php +++ b/modules/block-parsers/fields/text-field-parser.php @@ -21,7 +21,7 @@ protected function check_response() { $type = $this->settings['field_type'] ?? 'text'; - if ( $this->is_collected_error( 'empty_field' ) ) { + if ( empty( $this->value ) ) { return; } diff --git a/modules/block-parsers/parser-context.php b/modules/block-parsers/parser-context.php index 15b4cd8a8..7d5816dc5 100644 --- a/modules/block-parsers/parser-context.php +++ b/modules/block-parsers/parser-context.php @@ -683,14 +683,26 @@ public function collect_error( $name, $error_name ) { public function iterate_errors(): \Generator { /** @var Field_Data_Parser $parser */ foreach ( $this->iterate_parsers() as $parser ) { - yield $parser->get_name() => $parser->get_errors(); + $errors = $parser->get_errors(); + + if ( ! $errors ) { + continue; + } + + yield $parser->get_name() => $errors; } } public function iterate_errors_list(): \Generator { /** @var Field_Data_Parser $parser */ foreach ( $this->iterate_parsers_list() as $name => $parser ) { - yield $name => $parser->get_errors(); + $errors = $parser->get_errors(); + + if ( ! $errors ) { + continue; + } + + yield $name => $errors; } }