diff --git a/apps/web/stores/calculation/helpers.ts b/apps/web/stores/calculation/helpers.ts index 7ef8cf0..d47fd0a 100644 --- a/apps/web/stores/calculation/helpers.ts +++ b/apps/web/stores/calculation/helpers.ts @@ -38,6 +38,7 @@ export function createReactions($calculation: CalculationStore) { element.validate({ invalid: hasInvalidValue(value, options), message: 'Выбранное значение отсутствует в списке', + silent: true, }); }, { diff --git a/apps/web/stores/calculation/index.ts b/apps/web/stores/calculation/index.ts index e4d50bb..36fcbfe 100644 --- a/apps/web/stores/calculation/index.ts +++ b/apps/web/stores/calculation/index.ts @@ -99,12 +99,12 @@ export default class CalculationStore { return this.element(elementName); }, - validate: ({ invalid, message }: ValidationParams) => { + validate: ({ invalid, message, silent }: ValidationParams) => { if (!this.$validation[elementName]) this.createElementValidation(elementName); let removeError: RemoveError | undefined; if (invalid) { - removeError = this.$validation[elementName]?.addError(message); + removeError = this.$validation[elementName]?.addError(message, silent); } else { this.$validation[elementName]?.removeError(message); } diff --git a/apps/web/stores/validation/index.ts b/apps/web/stores/validation/index.ts index fb63144..6109c9a 100644 --- a/apps/web/stores/validation/index.ts +++ b/apps/web/stores/validation/index.ts @@ -1,6 +1,6 @@ import { makeAutoObservable } from 'mobx'; import notification from 'ui/elements/notification'; -import type { ValidationConfig } from './types'; +import type { ValidationConfig, ValidationParams } from './types'; export default class Validation { params: ValidationConfig; @@ -25,14 +25,16 @@ export default class Validation { if (this.messages.size === 0) notification.close(this.params.err_key); }; - addError = (message: string) => { + addError = (message: string, silent: ValidationParams['silent']) => { this.messages.add(message); - notification.error({ - key: this.params.err_key, - message: this.params.err_title, - description: message, - }); + if (!silent) { + notification.error({ + key: this.params.err_key, + message: this.params.err_title, + description: message, + }); + } return () => this.removeError(message); }; diff --git a/apps/web/stores/validation/types.ts b/apps/web/stores/validation/types.ts index 21e8bc4..c5ef5c9 100644 --- a/apps/web/stores/validation/types.ts +++ b/apps/web/stores/validation/types.ts @@ -6,6 +6,7 @@ export type ValidationConfig = { export type ValidationParams = { invalid: boolean; message: string; + silent?: boolean; }; export type RemoveError = () => void;