From 70f1cf23f38cdc63a646ef50e278613f90990b23 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 9 Jan 2021 08:37:43 +0100 Subject: [PATCH] On Composite validator, set_error only for elements not in condition tree elements. --- src/formvalidatorcomposite.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/formvalidatorcomposite.c b/src/formvalidatorcomposite.c index fd7b2df..3401a8c 100644 --- a/src/formvalidatorcomposite.c +++ b/src/formvalidatorcomposite.c @@ -234,6 +234,8 @@ _zak_form_validator_composite_xml_parsing (ZakFormValidator *validator, xmlNode n = (Node *)g_new0 (Node, 1); n->valid = TRUE; + n->condition = FALSE; + if (xmlStrEqual (xmlGetProp (cur, (xmlChar *)"type"), (xmlChar *)"and")) { n->logic_type = LOGIC_TYPE_AND; @@ -272,6 +274,8 @@ _zak_form_validator_composite_xml_parsing (ZakFormValidator *validator, xmlNode n = (Node *)g_new0 (Node, 1); n->valid = TRUE; + n->condition = FALSE; + if (g_strcmp0 ((gchar *)xmlGetProp (cur, (xmlChar *)"validator_type"), "form") == 0) { ZakFormValidatorConstructorFunc validator_constructor; @@ -576,7 +580,8 @@ _zak_form_validator_composite_set_elements_message (ZakFormValidator *validator, if (!n_child->valid) { - if (n_child->form_validator == NULL + if (!n_child->condition + && n_child->form_validator == NULL && n_child->element_validator != NULL && n_child->element != NULL) { -- 2.49.0