diff --git a/src/components/form/components/DateInput.tsx b/src/components/form/components/DateInput.tsx index 0fc4925e..80dc8a30 100644 --- a/src/components/form/components/DateInput.tsx +++ b/src/components/form/components/DateInput.tsx @@ -29,6 +29,8 @@ interface IDateInput { error: any; } +const END_OF_MONTH = 'END_OF_MONTH'; + const DateInput: React.FC = (props) => { const { questionId, error, sectionId, widgetId, caseId, questionType } = props; const caseType = useAppSelector( @@ -61,8 +63,7 @@ const DateInput: React.FC = (props) => { return ( - {question.text}{' '} - {`(Enter as ${DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.DATE]} only.)`}{' '} + {question.text} {isQuestionMandatory(question) && *} = (props) => { : null, [Validators.MAX_TODAY]: { ...question.metadata.validators?.[Validators.MAX_TODAY] }, [Validators.MIN_TODAY]: { ...question.metadata.validators?.[Validators.MIN_TODAY] }, + [Validators.MAX_DATE]: { ...question.metadata.validators?.[Validators.MAX_DATE] }, }), }} render={({ field: { onChange, value } }) => { @@ -104,6 +106,11 @@ const DateInput: React.FC = (props) => { type="date" onChange={(text) => handleChange(text, onChange)} outputFormat="DD-MM-YYYY" + max={ + question.metadata.validators?.[Validators.MAX_DATE]?.value === END_OF_MONTH + ? new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toString() + : undefined + } /> ); }} diff --git a/src/components/form/components/TimeInput.tsx b/src/components/form/components/TimeInput.tsx index 0881cce9..9c4852d5 100644 --- a/src/components/form/components/TimeInput.tsx +++ b/src/components/form/components/TimeInput.tsx @@ -61,8 +61,7 @@ const TimeInput: React.FC = (props) => { return ( - {question.text}{' '} - {`(Enter as ${DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.TIME]} only.)`}{' '} + {question.text} {isQuestionMandatory(question) && *}