validation: disable notification for options elements validation
This commit is contained in:
parent
f53f4b8d66
commit
626b71c363
@ -38,6 +38,7 @@ export function createReactions($calculation: CalculationStore) {
|
||||
element.validate({
|
||||
invalid: hasInvalidValue(value, options),
|
||||
message: 'Выбранное значение отсутствует в списке',
|
||||
silent: true,
|
||||
});
|
||||
},
|
||||
{
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
};
|
||||
|
||||
@ -6,6 +6,7 @@ export type ValidationConfig = {
|
||||
export type ValidationParams = {
|
||||
invalid: boolean;
|
||||
message: string;
|
||||
silent?: boolean;
|
||||
};
|
||||
|
||||
export type RemoveError = () => void;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user