fix validation

This commit is contained in:
Chika 2021-04-02 16:15:07 +03:00
parent b9dde9e5c3
commit 8ff1f31355

View File

@ -58,6 +58,13 @@ const validateElement = (elementName, condition) => {
};
const validateElements = () => {
if (
Object.keys(CalculationStore.validations).some(
x => CalculationStore.validations[x] === false,
)
) {
return;
}
Object.keys(elementsValidations).forEach(elementName => {
validateElement(
elementName,
@ -105,7 +112,8 @@ const validatePaymentsTable = () => {
x => x.paymentRelation?.value,
);
const rows = CalculationStore.tables.tablePayments.rows;
const isValidRows = !rows.some(x => x.paymentRelation?.validation === false);
const isValidRows = () =>
!rows.some(x => x.paymentRelation?.validation === false);
switch (graphType) {
case 100000001: {
@ -125,7 +133,7 @@ const validatePaymentsTable = () => {
);
}
if (isValidRows) {
if (isValidRows()) {
const target_payments = payments.slice(1, 4);
const min = Math.min.apply(Math, target_payments);
const max = Math.max.apply(Math, target_payments);
@ -143,7 +151,7 @@ const validatePaymentsTable = () => {
);
}
if (isValidRows) {
if (isValidRows()) {
const target_payments = payments.slice(1, payments.length - 1);
let pairs_number = 0;
new Set(target_payments).forEach(set_v => {
@ -170,10 +178,10 @@ const validatePaymentsTable = () => {
);
}
if (isValidRows) {
rows.forEach((x, i) => {
if (i > 0 && i < rows.length) {
const isInvalidValue = x > rows[i - 1] || x < 3;
if (isValidRows()) {
payments.forEach((x, i) => {
if (i > 1 && i < rows.length - 1) {
const isInvalidValue = x > payments[i - 1] || x < 3;
CalculationStore.setTableRow(
'tablePayments',
i,
@ -251,7 +259,7 @@ const validatePaymentsTable = () => {
})),
);
if (isValidRows) {
if (isValidRows()) {
const areCorrect3MiddleRows = isEqual(
targetRows.slice(0).sort((a, b) => a - b),
targetRows,