WIP Исправил баги ASTRA-53, ASTRA-54, добавил валибацию

This commit is contained in:
DwCay
2023-04-20 19:52:58 +03:00
parent b1a7d106ea
commit fcabea8f86
7 changed files with 177 additions and 35 deletions

View File

@@ -1,4 +1,9 @@
import { ruleLengthValue, ruleEmailValue } from "@/shared/utils/rulesInputs";
import {
ruleLengthValue,
ruleEmailValue,
ruleMaxLength,
ruleNotValue,
} from "@/shared/utils/rulesInputs";
export const baseDataForm = [
{
@@ -61,12 +66,16 @@ export const baseDataForm = [
label: "Дом",
type: "text",
rules: [(val) => !/^[\W0]/.test(val)],
error:
"Номер дома должен начинатся не с нуля и только с цифробуквенного символа",
},
{
key: "apartment_number",
label: "Квартира",
type: "text",
rules: [(val) => !/^[\W0]/.test(val)],
error:
"Номер квартиры должен начинатся не с нуля и только с цифробуквенного символа",
},
],
},
@@ -94,17 +103,34 @@ export const baseDataForm = [
label: "Дом",
type: "text",
rules: [(val) => !/^[\W0]/.test(val)],
error:
"Номер дома должен начинатся не с нуля и только с цифробуквенного символа",
},
{
key: "apartment_number",
label: "Квартира",
type: "text",
rules: [(val) => !/^[\W0]/.test(val)],
error:
"Номер квартиры должен начинатся не с нуля и только с цифробуквенного символа",
},
],
},
];
export const errorMap = {
house_number: {
title: "Дом",
error:
"Номер дома должен начинатся не с нуля и только с цифробуквенного символа",
},
apartment_number: {
title: "Квартира",
error:
"Номер квартиры должен начинатся не с нуля и только с цифробуквенного символа",
},
};
export const mapNetworks = {
VK: {
title: "VK",
@@ -148,6 +174,8 @@ export const contactsDataForm = {
phones: {
title: "Телефон",
fieldName: "Телефон",
error:
"Не корректно введен номер телефона. Номер телефона должен состоять из 10 цифр (без учета +7)",
kind: "PHONE",
rules: [(val) => ruleLengthValue(val, 18)],
inputMask: "+7 (###) ###-##-##",
@@ -155,12 +183,31 @@ export const contactsDataForm = {
emails: {
title: "Почта",
fieldName: "Email",
error:
"Не корректно введен адрес почты. Почта должна содержать локальное имя, знак @ и имя домена",
rules: [(val) => ruleEmailValue(val)],
kind: "EMAIL",
},
networks: {
title: "Социальные сети",
fieldName: "Соцсеть",
error: "Отсутсвует ссылка соцсети",
rules: [(val) => ruleNotValue(val)],
kind: "TELEGRAM",
},
};
export const allergiesConfig = {
name: {
title: "Аллерген",
error:
"Некорректно введен аллерген. Значение должно быть больше 1 и меньше 50 символов",
},
title: {
title: "Проявление аллергии",
rules: [(val) => ruleMaxLength(val, 100)],
error:
"Некорректно введено проявление аллергии. Значение должно быть больше 1 и меньше 100 символов",
},
};