SUPPORT-9389: fix

This commit is contained in:
adel.ka 2025-09-12 18:13:14 +03:00
parent f4529a2fc7
commit c6e7fe8b70
4 changed files with 260 additions and 24 deletions

View file

@ -60,7 +60,8 @@ import ru.micord.ervu.account_applications.model.ReferenceEntity;
"component.addresses", "component.addresses",
"gen", "gen",
"ru.cg", "ru.cg",
"ru.micord" "ru.micord",
"error_handler"
}, excludeFilters = { }, excludeFilters = {
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "ru.cg.webbpm.modules.database.impl.DatabaseConfiguration"), @ComponentScan.Filter(type = FilterType.REGEX, pattern = "ru.cg.webbpm.modules.database.impl.DatabaseConfiguration"),
@ComponentScan.Filter(type = FilterType.REGEX, pattern = "security.WebSecurityConfig"), @ComponentScan.Filter(type = FilterType.REGEX, pattern = "security.WebSecurityConfig"),

View file

@ -0,0 +1,7 @@
package ru.micord.ervu.account_applications.component.model;
public class RequiredField {
public String name;
public String displayName;
}

View file

@ -7,7 +7,10 @@ import java.util.Map;
import model.FieldData; import model.FieldData;
import model.FormValidationResult; import model.FormValidationResult;
import model.SimpleFormValidationResult; import model.SimpleFormValidationResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.MessageSourceAccessor; import org.springframework.context.support.MessageSourceAccessor;
import ru.micord.ervu.account_applications.component.model.RequiredField;
import service.FormValidatorWithCode; import service.FormValidatorWithCode;
import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils; import ru.cg.webbpm.modules.core.runtime.api.MessageBundleUtils;
@ -16,16 +19,17 @@ import ru.cg.webbpm.modules.database.bean.entity_graph.EntityColumn;
public class RequiredFieldValidator extends FormValidatorWithCode { public class RequiredFieldValidator extends FormValidatorWithCode {
private static final MessageSourceAccessor MESSAGE_SOURCE = MessageBundleUtils.createAccessor( private static final MessageSourceAccessor MESSAGE_SOURCE = MessageBundleUtils.createAccessor(
"messages/common_errors_messages"); "messages/common_errors_messages");
public String[] requiredFields; private static final Logger LOGGER = LoggerFactory.getLogger(RequiredFieldValidator.class);
public RequiredField[] requiredFields;
@Override @Override
public FormValidationResult validate(Map<EntityColumn, Object> values, public FormValidationResult validate(Map<EntityColumn, Object> values,
List<FieldData> fieldData) { List<FieldData> fieldData) {
List<String> missingFields = new ArrayList<>(); List<String> missingFields = new ArrayList<>();
for (String fieldName : requiredFields) { for (RequiredField requiredField : requiredFields) {
if (isFieldNull(fieldName, values, fieldData)) { if (isFieldNull(requiredField.name, values, fieldData)) {
missingFields.add(fieldName); missingFields.add(requiredField.displayName);
} }
} }

View file

@ -4291,7 +4291,7 @@
<entry> <entry>
<key>showServerValidationErrors</key> <key>showServerValidationErrors</key>
<value> <value>
<simple>null</simple> <simple>true</simple>
</value> </value>
</entry> </entry>
</properties> </properties>
@ -4330,33 +4330,97 @@
<value> <value>
<item id="f84415d3-14f8-41e1-8ea0-46252fb46642" removed="false"> <item id="f84415d3-14f8-41e1-8ea0-46252fb46642" removed="false">
<value> <value>
<simple>"application_kind"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Вид заявки"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"application_kind"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="8954ce7f-8f29-4d5c-8fe6-bc721cfa73fc" removed="false"> <item id="8954ce7f-8f29-4d5c-8fe6-bc721cfa73fc" removed="false">
<value> <value>
<simple>"user_login"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Логин"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"user_login"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="cc9e1215-b578-4917-88f1-a62e3009b757" removed="false"> <item id="cc9e1215-b578-4917-88f1-a62e3009b757" removed="false">
<value> <value>
<simple>"secondname"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Фамилия"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"secondname"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="7c489802-7ac8-4ad7-812c-4fd0e88d73e3" removed="false"> <item id="7c489802-7ac8-4ad7-812c-4fd0e88d73e3" removed="false">
<value> <value>
<simple>"firstname"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Имя"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"firstname"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="1aef3d97-6409-4de0-b911-11181fb57fa5" removed="false"> <item id="1aef3d97-6409-4de0-b911-11181fb57fa5" removed="false">
<value> <value>
<simple>"application_status"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Статус заявки"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"application_status"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
</value> </value>
</entry> </entry>
</complex> </complex>
<expanded>false</expanded>
<implRef type="JAVA"> <implRef type="JAVA">
<className>RequiredFieldValidator</className> <className>RequiredFieldValidator</className>
<packageName>ru.micord.ervu.account_applications.component.validator</packageName> <packageName>ru.micord.ervu.account_applications.component.validator</packageName>
@ -9338,7 +9402,16 @@
<name>Form2</name> <name>Form2</name>
<container>true</container> <container>true</container>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/> <scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
<entry>
<key>showServerValidationErrors</key>
<value>
<simple>true</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="c0bf7050-bd39-426a-8f1e-1600bbd4b9bb"> <scripts id="c0bf7050-bd39-426a-8f1e-1600bbd4b9bb">
<properties> <properties>
<entry> <entry>
@ -9373,27 +9446,92 @@
<value> <value>
<item id="013a8262-26a9-45f2-ab43-136bd0f64868" removed="false"> <item id="013a8262-26a9-45f2-ab43-136bd0f64868" removed="false">
<value> <value>
<simple>"application_kind"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Вид заявки"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"application_kind"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="2dca08b6-fa69-4325-bb9d-4c9568c112c0" removed="false"> <item id="2dca08b6-fa69-4325-bb9d-4c9568c112c0" removed="false">
<value> <value>
<simple>"user_login"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Логин"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"user_login"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="e85a4b5b-876a-4737-9767-0bf5aa3d3a10" removed="false"> <item id="e85a4b5b-876a-4737-9767-0bf5aa3d3a10" removed="false">
<value> <value>
<simple>"secondname"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Фамилия"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"secondname"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="493dc756-4d47-450d-a878-4cc1d4276eeb" removed="false"> <item id="493dc756-4d47-450d-a878-4cc1d4276eeb" removed="false">
<value> <value>
<simple>"firstname"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Имя"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"firstname"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="7eaef52d-1a3a-401c-9921-e5cc9a1a0ea9" removed="false"> <item id="7eaef52d-1a3a-401c-9921-e5cc9a1a0ea9" removed="false">
<value> <value>
<simple>"application_status"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Статус заявки"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"application_status"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
</value> </value>
@ -12540,6 +12678,12 @@
<simple>"btn-main"</simple> <simple>"btn-main"</simple>
</value> </value>
</item> </item>
</value>
</entry>
<entry>
<key>disabled</key>
<value>
<simple>true</simple>
</value> </value>
</entry> </entry>
</properties> </properties>
@ -13772,7 +13916,16 @@
<name>Form3</name> <name>Form3</name>
<container>true</container> <container>true</container>
<childrenReordered>false</childrenReordered> <childrenReordered>false</childrenReordered>
<scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f"/> <scripts id="bf098f19-480e-44e4-9084-aa42955c4d0f">
<properties>
<entry>
<key>showServerValidationErrors</key>
<value>
<simple>true</simple>
</value>
</entry>
</properties>
</scripts>
<scripts id="c0bf7050-bd39-426a-8f1e-1600bbd4b9bb"> <scripts id="c0bf7050-bd39-426a-8f1e-1600bbd4b9bb">
<properties> <properties>
<entry> <entry>
@ -13807,27 +13960,92 @@
<value> <value>
<item id="d3a90814-af6b-49a6-99e0-a8a439a7d0af" removed="false"> <item id="d3a90814-af6b-49a6-99e0-a8a439a7d0af" removed="false">
<value> <value>
<simple>"application_kind"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Вид заявки"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"application_kind"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="3433096e-85f7-4c39-87fa-48aa410bfda6" removed="false"> <item id="3433096e-85f7-4c39-87fa-48aa410bfda6" removed="false">
<value> <value>
<simple>"user_login"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Логин"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"user_login"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="be29a25b-86e7-40d9-bacd-d098fbed1b41" removed="false"> <item id="be29a25b-86e7-40d9-bacd-d098fbed1b41" removed="false">
<value> <value>
<simple>"secondname"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Фамилия"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"secondname"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="40aca80c-9e5e-43e9-8837-d0f7bf510d39" removed="false"> <item id="40aca80c-9e5e-43e9-8837-d0f7bf510d39" removed="false">
<value> <value>
<simple>"firstname"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Имя"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"firstname"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
<item id="356e3761-05ce-4801-9b71-d941c0010520" removed="false"> <item id="356e3761-05ce-4801-9b71-d941c0010520" removed="false">
<value> <value>
<simple>"application_status"</simple> <complex>
<entry>
<key>displayName</key>
<value>
<simple>"Статус заявки"</simple>
</value>
</entry>
<entry>
<key>name</key>
<value>
<simple>"application_status"</simple>
</value>
</entry>
</complex>
</value> </value>
</item> </item>
</value> </value>
@ -17029,6 +17247,12 @@
<simple>"btn-main"</simple> <simple>"btn-main"</simple>
</value> </value>
</item> </item>
</value>
</entry>
<entry>
<key>disabled</key>
<value>
<simple>true</simple>
</value> </value>
</entry> </entry>
</properties> </properties>