TP-42454 | fix

This commit is contained in:
Aman Chaturvedi
2023-11-02 19:14:28 +05:30
parent 487c5bc4c3
commit 19abf0a909

View File

@@ -13,10 +13,15 @@ import { AnswerType } from '../interface';
import WebBasedDatePicker from '../../../../RN-UI-LIB/src/components/WebBasedDatePicker';
import {
BUSINESS_DATE_FORMAT,
CUSTOM_ISO_DATE_FORMAT,
DefaultPickerModeVisibleFormatMapping,
IDateTimePickerMode,
ISO_DATE_FORMAT,
dateFormat,
} from '../../../../RN-UI-LIB/src/utlis/dates';
import dayjs, { Dayjs } from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';
dayjs.extend(customParseFormat);
interface IDateInput {
questionType: string;
@@ -75,15 +80,13 @@ const DateInput: React.FC<IDateInput> = (props) => {
validate: (data) =>
validateInput(data, {
required: { ...question.metadata.validators?.required },
[Validators.PATTERN]: question.metadata.validators?.required
? {
value:
/(^(((0[1-9]|1[0-9]|2[0-8])[-](0[1-9]|1[012]))|((29|30|31)[-](0[13578]|1[02]))|((29|30)[-](0[4,6,9]|11)))[-](19|[2-9][0-9])\d\d$)|(^29[-]02[-](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)/,
message: `Please enter correct date, in format of ${
DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.DATE]
}`,
}
: null,
[Validators.PATTERN]: {
value:
/(^(((0[1-9]|1[0-9]|2[0-8])[-](0[1-9]|1[012]))|((29|30|31)[-](0[13578]|1[02]))|((29|30)[-](0[4,6,9]|11)))[-](19|[2-9][0-9])\d\d$)|(^29[-]02[-](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)/,
message: `Please enter correct date, in format of ${
DefaultPickerModeVisibleFormatMapping[IDateTimePickerMode.DATE]
}`,
},
[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] },
@@ -92,13 +95,9 @@ const DateInput: React.FC<IDateInput> = (props) => {
render={({ field: { onChange, value } }) => {
let dateString = value?.answer;
if (dateString) {
const parts = dateString.split('-');
const day = parts[0];
const month = parts[1];
const year = parts[2];
const date = new Date(`${year}-${month}-${day}`);
dateString = date.toString();
dayjs(dateString, CUSTOM_ISO_DATE_FORMAT, true);
const parsedDate = dayjs(dateString, CUSTOM_ISO_DATE_FORMAT, true);
dateString = parsedDate.format(ISO_DATE_FORMAT);
}
return (
<WebBasedDatePicker