- fixed issue with numeric field;

This commit is contained in:
Vitalii Kiiko
2025-09-11 12:02:26 +02:00
parent f00fd4328e
commit 8048ab610c

View File

@@ -4,6 +4,7 @@ import { Controller } from 'react-hook-form';
import { is, isEmpty } from 'ramda'; import { is, isEmpty } from 'ramda';
import { InputNumber } from 'primereact/inputnumber'; import { InputNumber } from 'primereact/inputnumber';
import { isNaN } from 'mathjs';
const NumberInput = ({ const NumberInput = ({
fieldName, fieldName,
@@ -29,13 +30,13 @@ const NumberInput = ({
const input = <Controller const input = <Controller
name={fieldName} name={fieldName}
control={control} control={control}
defaultValue={is(Number, defaultValue) ? defaultValue : ''} defaultValue={is(Number, defaultValue) || (!is(Number, defaultValue) && !isNaN(parseFloat(defaultValue))) ? defaultValue : ''}
rules={config} rules={config}
render={({ field, fieldState }) => ( render={({ field, fieldState }) => (
<InputNumber inputId={field.name} <InputNumber inputId={field.name}
disabled={disabled} disabled={disabled}
readOnly={readOnly} readOnly={readOnly}
value={is(Number, field.value) ? field.value : ''} value={is(Number, field.value) || (!is(Number, field.value) && !isNaN(parseFloat(field.value))) ? field.value : ''}
onValueChange={(e) => field.onChange(e.value)} onValueChange={(e) => field.onChange(e.value)}
min={minAttr} min={minAttr}
max={maxAttr} max={maxAttr}