stupa-pdf-api/frontend/node_modules/@mui/x-date-pickers/modern/internals/hooks/useValidation.js

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;
}