From 1934697e04823bfe9ea8efffe6fc61e193c4b5b4 Mon Sep 17 00:00:00 2001
From: Andrea Zagli <azagli@libero.it>
Date: Sat, 2 Jan 2021 08:51:47 +0100
Subject: [PATCH] Added function FormElement::render_error_helpbox.

---
 src/formelement.c | 32 +++++++++++++++++++++++++++-----
 src/formelement.h |  1 +
 2 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/src/formelement.c b/src/formelement.c
index 5618b62..7ec4b2b 100644
--- a/src/formelement.c
+++ b/src/formelement.c
@@ -240,11 +240,8 @@ gchar
 			for (i = 0; i < messages->len; i++)
 				{
 					g_string_append_printf (str,
-					                        "\n<span id=\"helpBox_%s_%d\" class=\"%s\">%s</span>",
-					                        priv->id,
-					                        i + 1,
-					                        g_strcmp0 (priv->bootstrap_version, "4") == 0 ? "invalid-feedback" : "help-block",
-					                        (gchar *)g_ptr_array_index (messages, i));
+					                        "\n%s",
+					                        zak_form_cgi_form_element_render_error_helpbox (element, i + 1, (const gchar *)g_ptr_array_index (messages, i)));
 				}
 		}
 
@@ -301,6 +298,31 @@ gchar
 	return ret;
 }
 
+/**
+ * zak_form_cgi_form_element_render_error_helpbox:
+ * @element:
+ * @idx:
+ * @message:
+ *
+ */
+gchar
+*zak_form_cgi_form_element_render_error_helpbox (ZakFormCgiFormElement *element, guint idx, const gchar *message)
+{
+	gchar *ret;
+
+	ZakFormCgiFormElementPrivate *priv;
+
+	priv = zak_form_cgi_form_element_get_instance_private (element);
+
+	ret = g_strdup_printf ("<span id=\"helpBox_%s_%d\" class=\"%s\">%s</span>",
+	                       priv->id,
+	                       idx,
+	                       g_strcmp0 (priv->bootstrap_version, "4") == 0 ? "invalid-feedback" : "help-block",
+	                       message);
+
+	return ret;
+}
+
 gchar
 *zak_form_cgi_form_element_get_attr (ZakFormCgiFormElement *element, const gchar *attr)
 {
diff --git a/src/formelement.h b/src/formelement.h
index 03815b9..4a469a9 100644
--- a/src/formelement.h
+++ b/src/formelement.h
@@ -54,6 +54,7 @@ void zak_form_cgi_form_element_bind (ZakFormCgiFormElement *element, GValue *val
 
 gchar *zak_form_cgi_form_element_render (ZakFormCgiFormElement *element);
 gchar *zak_form_cgi_form_element_render_label (ZakFormCgiFormElement *element);
+gchar *zak_form_cgi_form_element_render_error_helpbox (ZakFormCgiFormElement *element, guint idx, const gchar *message);
 
 gchar *zak_form_cgi_form_element_get_attr (ZakFormCgiFormElement *element, const gchar *attr);
 void zak_form_cgi_form_element_set_attr (ZakFormCgiFormElement *element, const gchar *attr, const gchar *value);
-- 
2.49.0