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(),
|
||||
responsiblePerson: z.string({ required_error: ERROR_MESSAGES.required.responsiblePerson }).optional(),
|
||||
})
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.trafficAccident !== '' && data.accidentDate && data.accidentDate.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.accidentDate,
|
||||
// path: ['accidentDate'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.trafficAccident !== '' && data.accidentProvince && data.accidentProvince.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.accidentProvince,
|
||||
// path: ['accidentProvince'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.trafficAccident !== '' && data.accidentCity && data.accidentCity.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.accidentCity,
|
||||
// path: ['accidentCity'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.trafficAccident !== '' && data.accidentDistrict && data.accidentDistrict.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.accidentDistrict,
|
||||
// path: ['accidentDistrict'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.trafficAccident !== '' && data.suplesi && data.suplesi.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.suplesi,
|
||||
// path: ['suplesi'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return (
|
||||
// data.trafficAccident !== '' &&
|
||||
// data.suplesi?.trim() === 'yes' &&
|
||||
// data.suplesiNumber &&
|
||||
// data.suplesiNumber.trim() !== ''
|
||||
// )
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.suplesiNumber,
|
||||
// path: ['suplesiNumber'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.serviceType === '1' && data.classLevel && data.classLevel.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.classLevel,
|
||||
// path: ['classLevel'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return data.serviceType === '1' && data.classLevelUpgrade && data.classLevelUpgrade.trim() !== ''
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.classLevelUpgrade,
|
||||
// path: ['classLevelUpgrade'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return (
|
||||
// data.serviceType === '1' &&
|
||||
// data.classLevelUpgrade?.trim() !== '' &&
|
||||
// data.classPaySource &&
|
||||
// data.classPaySource.trim() !== ''
|
||||
// )
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.classLevelUpgrade,
|
||||
// path: ['classPaySource'],
|
||||
// },
|
||||
// )
|
||||
// .refine(
|
||||
// (data) => {
|
||||
// return (
|
||||
// data.serviceType === '1' &&
|
||||
// data.classPaySource?.trim() !== '' &&
|
||||
// data.responsiblePerson &&
|
||||
// data.responsiblePerson.trim() !== ''
|
||||
// )
|
||||
// },
|
||||
// {
|
||||
// message: ERROR_MESSAGES.required.responsiblePerson,
|
||||
// path: ['responsiblePerson'],
|
||||
// },
|
||||
// )
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||
return data.accidentDate && data.accidentDate.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.accidentDate,
|
||||
path: ['accidentDate'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||
return data.accidentProvince && data.accidentProvince.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.accidentProvince,
|
||||
path: ['accidentProvince'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||
return data.accidentCity && data.accidentCity.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.accidentCity,
|
||||
path: ['accidentCity'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||
return data.accidentDistrict && data.accidentDistrict.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.accidentDistrict,
|
||||
path: ['accidentDistrict'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.trafficAccident && data.trafficAccident.trim() !== '') {
|
||||
return data.suplesi && data.suplesi.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.suplesi,
|
||||
path: ['suplesi'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.trafficAccident && data.trafficAccident.trim() !== '' && data.suplesi?.trim() === 'yes') {
|
||||
return data.suplesiNumber && data.suplesiNumber.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.suplesiNumber,
|
||||
path: ['suplesiNumber'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.serviceType === '1') {
|
||||
return data.classLevel && data.classLevel.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.classLevel,
|
||||
path: ['classLevel'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.serviceType === '1') {
|
||||
return data.classLevelUpgrade && data.classLevelUpgrade.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
message: ERROR_MESSAGES.required.classLevelUpgrade,
|
||||
path: ['classLevelUpgrade'],
|
||||
},
|
||||
)
|
||||
.refine(
|
||||
(data) => {
|
||||
if (data.serviceType === '1' && data.classLevelUpgrade?.trim() !== '') {
|
||||
return data.classPaySource && data.classPaySource.trim() !== ''
|
||||
}
|
||||
return true
|
||||
},
|
||||
{
|
||||
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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user