refactor(integration-bpjs): update validation logic for accident-related fields
This commit is contained in:
@@ -123,111 +123,126 @@ const IntegrationBpjsSchema = z
|
|||||||
classPaySource: z.string({ required_error: ERROR_MESSAGES.required.classPaySource }).optional(),
|
classPaySource: z.string({ required_error: ERROR_MESSAGES.required.classPaySource }).optional(),
|
||||||
responsiblePerson: z.string({ required_error: ERROR_MESSAGES.required.responsiblePerson }).optional(),
|
responsiblePerson: z.string({ required_error: ERROR_MESSAGES.required.responsiblePerson }).optional(),
|
||||||
})
|
})
|
||||||
// .refine(
|
.refine(
|
||||||
// (data) => {
|
(data) => {
|
||||||
// return data.trafficAccident !== '' && data.accidentDate && data.accidentDate.trim() !== ''
|
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||||
// },
|
return data.accidentDate && data.accidentDate.trim() !== ''
|
||||||
// {
|
}
|
||||||
// message: ERROR_MESSAGES.required.accidentDate,
|
return true
|
||||||
// path: ['accidentDate'],
|
},
|
||||||
// },
|
{
|
||||||
// )
|
message: ERROR_MESSAGES.required.accidentDate,
|
||||||
// .refine(
|
path: ['accidentDate'],
|
||||||
// (data) => {
|
},
|
||||||
// return data.trafficAccident !== '' && data.accidentProvince && data.accidentProvince.trim() !== ''
|
)
|
||||||
// },
|
.refine(
|
||||||
// {
|
(data) => {
|
||||||
// message: ERROR_MESSAGES.required.accidentProvince,
|
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||||
// path: ['accidentProvince'],
|
return data.accidentProvince && data.accidentProvince.trim() !== ''
|
||||||
// },
|
}
|
||||||
// )
|
return true
|
||||||
// .refine(
|
},
|
||||||
// (data) => {
|
{
|
||||||
// return data.trafficAccident !== '' && data.accidentCity && data.accidentCity.trim() !== ''
|
message: ERROR_MESSAGES.required.accidentProvince,
|
||||||
// },
|
path: ['accidentProvince'],
|
||||||
// {
|
},
|
||||||
// message: ERROR_MESSAGES.required.accidentCity,
|
)
|
||||||
// path: ['accidentCity'],
|
.refine(
|
||||||
// },
|
(data) => {
|
||||||
// )
|
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||||
// .refine(
|
return data.accidentCity && data.accidentCity.trim() !== ''
|
||||||
// (data) => {
|
}
|
||||||
// return data.trafficAccident !== '' && data.accidentDistrict && data.accidentDistrict.trim() !== ''
|
return true
|
||||||
// },
|
},
|
||||||
// {
|
{
|
||||||
// message: ERROR_MESSAGES.required.accidentDistrict,
|
message: ERROR_MESSAGES.required.accidentCity,
|
||||||
// path: ['accidentDistrict'],
|
path: ['accidentCity'],
|
||||||
// },
|
},
|
||||||
// )
|
)
|
||||||
// .refine(
|
.refine(
|
||||||
// (data) => {
|
(data) => {
|
||||||
// return data.trafficAccident !== '' && data.suplesi && data.suplesi.trim() !== ''
|
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||||
// },
|
return data.accidentDistrict && data.accidentDistrict.trim() !== ''
|
||||||
// {
|
}
|
||||||
// message: ERROR_MESSAGES.required.suplesi,
|
return true
|
||||||
// path: ['suplesi'],
|
},
|
||||||
// },
|
{
|
||||||
// )
|
message: ERROR_MESSAGES.required.accidentDistrict,
|
||||||
// .refine(
|
path: ['accidentDistrict'],
|
||||||
// (data) => {
|
},
|
||||||
// return (
|
)
|
||||||
// data.trafficAccident !== '' &&
|
.refine(
|
||||||
// data.suplesi?.trim() === 'yes' &&
|
(data) => {
|
||||||
// data.suplesiNumber &&
|
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||||
// data.suplesiNumber.trim() !== ''
|
return data.suplesi && data.suplesi.trim() !== ''
|
||||||
// )
|
}
|
||||||
// },
|
return true
|
||||||
// {
|
},
|
||||||
// message: ERROR_MESSAGES.required.suplesiNumber,
|
{
|
||||||
// path: ['suplesiNumber'],
|
message: ERROR_MESSAGES.required.suplesi,
|
||||||
// },
|
path: ['suplesi'],
|
||||||
// )
|
},
|
||||||
// .refine(
|
)
|
||||||
// (data) => {
|
.refine(
|
||||||
// return data.serviceType === '1' && data.classLevel && data.classLevel.trim() !== ''
|
(data) => {
|
||||||
// },
|
if (data.trafficAccident && data.trafficAccident.trim() !== '' && data.suplesi?.trim() === 'yes') {
|
||||||
// {
|
return data.suplesiNumber && data.suplesiNumber.trim() !== ''
|
||||||
// message: ERROR_MESSAGES.required.classLevel,
|
}
|
||||||
// path: ['classLevel'],
|
return true
|
||||||
// },
|
},
|
||||||
// )
|
{
|
||||||
// .refine(
|
message: ERROR_MESSAGES.required.suplesiNumber,
|
||||||
// (data) => {
|
path: ['suplesiNumber'],
|
||||||
// return data.serviceType === '1' && data.classLevelUpgrade && data.classLevelUpgrade.trim() !== ''
|
},
|
||||||
// },
|
)
|
||||||
// {
|
.refine(
|
||||||
// message: ERROR_MESSAGES.required.classLevelUpgrade,
|
(data) => {
|
||||||
// path: ['classLevelUpgrade'],
|
if (data.serviceType === '1') {
|
||||||
// },
|
return data.classLevel && data.classLevel.trim() !== ''
|
||||||
// )
|
}
|
||||||
// .refine(
|
return true
|
||||||
// (data) => {
|
},
|
||||||
// return (
|
{
|
||||||
// data.serviceType === '1' &&
|
message: ERROR_MESSAGES.required.classLevel,
|
||||||
// data.classLevelUpgrade?.trim() !== '' &&
|
path: ['classLevel'],
|
||||||
// data.classPaySource &&
|
},
|
||||||
// data.classPaySource.trim() !== ''
|
)
|
||||||
// )
|
.refine(
|
||||||
// },
|
(data) => {
|
||||||
// {
|
if (data.serviceType === '1') {
|
||||||
// message: ERROR_MESSAGES.required.classLevelUpgrade,
|
return data.classLevelUpgrade && data.classLevelUpgrade.trim() !== ''
|
||||||
// path: ['classPaySource'],
|
}
|
||||||
// },
|
return true
|
||||||
// )
|
},
|
||||||
// .refine(
|
{
|
||||||
// (data) => {
|
message: ERROR_MESSAGES.required.classLevelUpgrade,
|
||||||
// return (
|
path: ['classLevelUpgrade'],
|
||||||
// data.serviceType === '1' &&
|
},
|
||||||
// data.classPaySource?.trim() !== '' &&
|
)
|
||||||
// data.responsiblePerson &&
|
.refine(
|
||||||
// data.responsiblePerson.trim() !== ''
|
(data) => {
|
||||||
// )
|
if (data.serviceType === '1' && data.classLevelUpgrade?.trim() !== '') {
|
||||||
// },
|
return data.classPaySource && data.classPaySource.trim() !== ''
|
||||||
// {
|
}
|
||||||
// message: ERROR_MESSAGES.required.responsiblePerson,
|
return true
|
||||||
// path: ['responsiblePerson'],
|
},
|
||||||
// },
|
{
|
||||||
// )
|
message: ERROR_MESSAGES.required.classPaySource,
|
||||||
|
path: ['classPaySource'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
.refine(
|
||||||
|
(data) => {
|
||||||
|
if (data.serviceType === '1' && data.classPaySource?.trim() !== '') {
|
||||||
|
return data.responsiblePerson && data.responsiblePerson.trim() !== ''
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
message: ERROR_MESSAGES.required.responsiblePerson,
|
||||||
|
path: ['responsiblePerson'],
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
type IntegrationBpjsFormData = z.infer<typeof IntegrationBpjsSchema>
|
type IntegrationBpjsFormData = z.infer<typeof IntegrationBpjsSchema>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user