diff --git a/src/client/Elements/InputNumber.jsx b/src/client/Elements/InputNumber.jsx
index 9312e51..f3b1334 100644
--- a/src/client/Elements/InputNumber.jsx
+++ b/src/client/Elements/InputNumber.jsx
@@ -14,11 +14,15 @@ const InputNumber = ({
{
+ if (value === '') {
+ return 0;
+ }
+ return value.replace(/[^0-9.,]+/, '');
+ }}
disabled={status === ElementStatus.Disabled}
style={styles}
- onChange={value => {
- setCurrentValue(typeof value !== 'string' ? value : 0);
- }}
+ onChange={value => setCurrentValue(value)}
value={value}
/>
diff --git a/src/client/stores/CalculationStore/Effects/actions/calculate/validate.ts b/src/client/stores/CalculationStore/Effects/actions/calculate/validate.ts
index f575f9e..cd562dd 100644
--- a/src/client/stores/CalculationStore/Effects/actions/calculate/validate.ts
+++ b/src/client/stores/CalculationStore/Effects/actions/calculate/validate.ts
@@ -1,9 +1,10 @@
+import { toJS } from 'mobx';
import { elementsValues } from 'client/Containers/Calculation/lib/elements/values';
import { TElements } from 'core/types/Calculation/Store/elements';
import CalculationStore from '../../..';
const VALIDATIONS = {
- IS_NULL: valueName => !CalculationStore.getValue(valueName),
+ IS_NULL: valueName => CalculationStore.getValue(valueName) === undefined,
LESS_ZERO: valueName => CalculationStore.getValue(valueName) < 0,
LESS_OR_EQUALS_ZERO: valueName => CalculationStore.getValue(valueName) <= 0,
};
@@ -26,9 +27,11 @@ const elementsValidations: TElements = {
selectLeaseObjectCategory: VALIDATIONS.IS_NULL,
tbxLeasingPeriod: valueName => CalculationStore.getValue(valueName) < 7,
tbxLeaseObjectPrice: VALIDATIONS.LESS_OR_EQUALS_ZERO,
- tbxLastPaymentPerc: VALIDATIONS.LESS_OR_EQUALS_ZERO,
- tbxFirstPaymentPerc: VALIDATIONS.LESS_ZERO,
- tbxLeaseObjectCount: VALIDATIONS.LESS_ZERO,
+ tbxLastPaymentPerc: VALIDATIONS.IS_NULL,
+ tbxLastPaymentRub: VALIDATIONS.IS_NULL,
+ tbxFirstPaymentPerc: VALIDATIONS.IS_NULL,
+ tbxFirstPaymentRub: VALIDATIONS.IS_NULL,
+ tbxLeaseObjectCount: VALIDATIONS.LESS_OR_EQUALS_ZERO,
};
const validateElement = (elementName, condition) => {
@@ -83,6 +86,7 @@ const validateTables = () => {
};
export default () => {
+ const v = toJS(CalculationStore.values);
validateElements();
validateTables();
};