TP-42454 | fix
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user