@mui/x-date-pickers
Version:
The community edition of the Date and Time Picker components (MUI X).
22 lines • 729 B
JavaScript
import * as React from 'react';
import { useLocalizationContext } from './useUtils';
export function useValidation(props, validate, isSameError, defaultErrorState) {
const {
value,
onError
} = props;
const adapter = useLocalizationContext();
const previousValidationErrorRef = React.useRef(defaultErrorState);
const validationError = validate({
adapter,
value,
props
});
React.useEffect(() => {
if (onError && !isSameError(validationError, previousValidationErrorRef.current)) {
onError(validationError, value);
}
previousValidationErrorRef.current = validationError;
}, [isSameError, onError, previousValidationErrorRef, validationError, value]);
return validationError;
}