corregido schema training quitado opcional del formulario varios campos

This commit is contained in:
2026-03-06 10:50:19 -04:00
parent d6de7527e4
commit ff46776e4a
3 changed files with 42 additions and 33 deletions

View File

@@ -90,8 +90,6 @@ export const createTrainingAction = async (
payloadToSend = rest as any;
}
console.log(payloadToSend);
const [error, data] = await safeFetchApi(
TrainingMutate,
'/training',
@@ -124,8 +122,6 @@ export const updateTrainingAction = async (
if (!id) throw new Error('ID es requerido para actualizar');
console.log(payloadToSend);
const [error, data] = await safeFetchApi(
TrainingMutate,
`/training/${id}`,

View File

@@ -109,8 +109,10 @@ export function CreateTrainingForm({
productiveActivity: defaultValues?.productiveActivity || undefined,
ecoSector: defaultValues?.ecoSector || undefined,
productiveSector: defaultValues?.productiveSector || undefined,
centralProductiveActivity: defaultValues?.centralProductiveActivity || undefined,
mainProductiveActivity: defaultValues?.mainProductiveActivity || undefined,
centralProductiveActivity:
defaultValues?.centralProductiveActivity || undefined,
mainProductiveActivity:
defaultValues?.mainProductiveActivity || undefined,
photo1: defaultValues?.photo1 || '',
photo2: defaultValues?.photo2 || '',
@@ -1208,7 +1210,7 @@ export function CreateTrainingForm({
render={({ field }) => (
<FormItem className="w-full flex flex-col space-y-2">
<FormLabel className="font-semibold">
Rif de la Comuna (opcional)
Rif de la Comuna
</FormLabel>
<FormControl>
<Input {...field} value={field.value ?? ''} />
@@ -1224,7 +1226,7 @@ export function CreateTrainingForm({
render={({ field }) => (
<FormItem className="w-full flex flex-col space-y-2">
<FormLabel className="font-semibold">
Nombre del Vocero o Vocera (opcional)
Nombre del Vocero o Vocera
</FormLabel>
<FormControl>
<Input {...field} value={field.value ?? ''} />
@@ -1240,7 +1242,7 @@ export function CreateTrainingForm({
render={({ field }) => (
<FormItem className="w-full flex flex-col space-y-2">
<FormLabel className="font-semibold">
Número de Teléfono del Vocero (opcional)
Número de Teléfono del Vocero
</FormLabel>
<FormControl>
<Input
@@ -1322,7 +1324,7 @@ export function CreateTrainingForm({
render={({ field }) => (
<FormItem className="w-full flex flex-col space-y-2">
<FormLabel className="font-semibold">
Rif del Consejo Comunal (opcional)
Rif del Consejo Comunal
</FormLabel>
<FormControl>
<Input {...field} value={field.value ?? ''} />
@@ -1338,7 +1340,7 @@ export function CreateTrainingForm({
render={({ field }) => (
<FormItem className="w-full flex flex-col space-y-2">
<FormLabel className="font-semibold">
Nombre del Vocero o Vocera (opcional)
Nombre del Vocero o Vocera
</FormLabel>
<FormControl>
<Input {...field} value={field.value ?? ''} />
@@ -1354,7 +1356,7 @@ export function CreateTrainingForm({
render={({ field }) => (
<FormItem className="w-full flex flex-col space-y-2">
<FormLabel className="font-semibold">
Número de Teléfono del Vocero (opcional)
Número de Teléfono del Vocero
</FormLabel>
<FormControl>
<Input

View File

@@ -26,9 +26,7 @@ export const trainingSchema = z.object({
coorFullName: z
.string()
.min(1, { message: 'Nombre del coordinador es requerido' }),
coorPhone: z
.string()
.refine((val) => /^(04|02)\d{9}$/.test(val), {
coorPhone: z.string().refine((val) => /^(04|02)\d{9}$/.test(val), {
message: 'El teléfono debe tener 11 dígitos y comenzar con 04 o 02',
}),
visitDate: z
@@ -39,9 +37,15 @@ export const trainingSchema = z.object({
ospType: z.string().min(1, { message: 'Tipo de OSP es requerido' }),
ecoSector: z.string({ message: 'Sector Económico es requerido' }),
productiveSector: z.string({ message: 'Sector Productivo es requerido' }),
centralProductiveActivity: z.string({ message: 'Actividad Central Productiva es requerido' }),
mainProductiveActivity: z.string({ message: 'Actividad Productiva Principal es requerida' }),
productiveActivity: z.string({ message: 'Actividad Productiva es requerida' }),
centralProductiveActivity: z.string({
message: 'Actividad Central Productiva es requerido',
}),
mainProductiveActivity: z.string({
message: 'Actividad Productiva Principal es requerida',
}),
productiveActivity: z.string({
message: 'Actividad Productiva es requerida',
}),
ospRif: z.string().optional().or(z.literal('')).nullable(),
ospName: z.string().optional().or(z.literal('')).nullable(),
companyConstitutionYear: z.coerce
@@ -111,10 +115,16 @@ export const trainingSchema = z.object({
.string()
.min(1, { message: 'Dirección de la OSP es requerida' }),
ospGoogleMapsLink: z.string().optional().or(z.literal('')).nullable(),
communeName: z.string().min(1, { message: 'Nombre de la comuna es requerida' }),
siturCodeCommune: z.string().min(1, { message: 'Código SITUR de la comuna es requerida' }),
communeRif: z.string().optional().or(z.literal('')).nullable(),
communeSpokespersonName: z.string().optional().or(z.literal('')).nullable(),
communeName: z
.string()
.min(1, { message: 'Nombre de la comuna es requerida' }),
siturCodeCommune: z
.string()
.min(1, { message: 'Código SITUR de la comuna es requerida' }),
communeRif: z.string().min(1, { message: 'Rif de la comuna es requerida' }),
communeSpokespersonName: z
.string()
.min(1, { message: 'Nombre del vocero de la comuna es requerido' }),
communeSpokespersonPhone: z
.string()
.optional()
@@ -131,13 +141,15 @@ export const trainingSchema = z.object({
communalCouncil: z
.string()
.min(1, { message: 'Consejo Comunal es requerido' }),
siturCodeCommunalCouncil: z.string().min(1, { message: 'Código SITUR del Consejo Comunal es requerido' }),
communalCouncilRif: z.string().optional().or(z.literal('')).nullable(),
siturCodeCommunalCouncil: z
.string()
.min(1, { message: 'Código SITUR del Consejo Comunal es requerido' }),
communalCouncilRif: z
.string()
.min(1, { message: 'Rif del Consejo Comunal es requerido' }),
communalCouncilSpokespersonName: z
.string()
.optional()
.or(z.literal(''))
.nullable(),
.min(1, { message: 'Nombre del vocero es requerido' }),
communalCouncilSpokespersonPhone: z
.string()
.optional()
@@ -201,7 +213,6 @@ export const trainingSchema = z.object({
export type TrainingSchema = z.infer<typeof trainingSchema>;
export const getTrainingSchema = z.object({
//Datos de la visita
id: z.number().optional(),
@@ -266,10 +277,10 @@ export const getTrainingSchema = z.object({
ospGoogleMapsLink: z.string().optional().or(z.literal('')).nullable(),
communeName: z.string(),
siturCodeCommune: z.string(),
communeRif: z.string().optional().or(z.literal('')).nullable(),
communeSpokespersonName: z.string().optional().or(z.literal('')).nullable(),
communeRif: z.string().or(z.literal('')).nullable(),
communeSpokespersonName: z.string().or(z.literal('')).nullable(),
communeSpokespersonPhone: z.string(),
communeEmail: z.string(),
communeEmail: z.string().optional().or(z.literal('')).nullable(),
communalCouncil: z.string(),
siturCodeCommunalCouncil: z.string(),
communalCouncilRif: z.string().optional(),