mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
25 lines
724 B
TypeScript
25 lines
724 B
TypeScript
import { FC } from 'react';
|
|
import { ValidateFieldsError } from 'async-validator';
|
|
|
|
import { FormHelperText, TextField, TextFieldProps } from '@mui/material';
|
|
|
|
interface ValidatedFieldProps {
|
|
fieldErrors?: ValidateFieldsError;
|
|
name: string;
|
|
}
|
|
|
|
export type ValidatedTextFieldProps = ValidatedFieldProps & TextFieldProps;
|
|
|
|
const ValidatedTextField: FC<ValidatedTextFieldProps> = ({ fieldErrors, ...rest }) => {
|
|
const errors = fieldErrors && fieldErrors[rest.name];
|
|
const renderErrors = () => errors && errors.map((e, i) => <FormHelperText key={i}>{e.message}</FormHelperText>);
|
|
return (
|
|
<>
|
|
<TextField error={!!errors} {...rest} />
|
|
{renderErrors()}
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default ValidatedTextField;
|