Skip to content

Commit

Permalink
Merge pull request #74 from vvaldesc/validations
Browse files Browse the repository at this point in the history
Validations
  • Loading branch information
vvaldesc committed Jun 16, 2024
2 parents 0c6b5e0 + 0c6dafa commit 8410f5d
Show file tree
Hide file tree
Showing 9 changed files with 315 additions and 138 deletions.
89 changes: 79 additions & 10 deletions src/components/AntDesign/forms/Register_form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {sessionInfoState,Client} from "@/models/types";
import { Input, Form, Button, Alert } from "antd";
import { FaPhotoVideo, FaPencilAlt } from 'react-icons/fa';
import "@/styles/styles.css";

import regex from '@/consts/regex';

import postClient from "@/services/client/fetching/hooks/postClient";
import postCheckProfilePhoto from "@/services/client/fetching/hooks/postCheckProfilePhoto.tsx";
Expand Down Expand Up @@ -90,26 +90,95 @@ const Register_form: React.FC<{sessionInfoState: sessionInfoState}> = ({sessionI
{profilePhotoSrc ? <FaPencilAlt size={20} /> : <FaPhotoVideo size={20} />}
</div>
</Form.Item>
<Form.Item label="Nombre" name="name">
<Form.Item
label="Nombre"
name="name"
rules={[
{
required: true,
pattern: regex.regularName,
message: 'Por favor, introduce un nombre válido',
},
]}
>
<Input type="text" placeholder="Name" />
</Form.Item>
<Form.Item label="Apellido" name="surname">
<Input type="text" placeholder="Surname"/>
<Form.Item
label="Apellido"
name="surname"
rules={[
{
required: true,
pattern: regex.regularName,
message: 'Por favor, introduce un apellido válido',
},
]}
>
<Input type="text" placeholder="Surname" />
</Form.Item>
<Form.Item label="Número de teléfono" name="phone_number">
<Form.Item
label="Número de teléfono"
name="phone_number"
rules={[
{
required: true,
pattern: regex.phone,
message: 'Por favor, introduce un número de teléfono válido',
},
]}
>
<Input type="text" placeholder="TLF" />
</Form.Item>
<Form.Item label="Dirección" name="address">
<Form.Item
label="Dirección"
name="address"
rules={[
{
required: true,
pattern: regex.address,
message: 'Por favor, introduce una dirección',
},
]}
>
<Input type="text" placeholder="Dirección" />
</Form.Item>
<Form.Item label="Ciudad" name="city">
<Form.Item
label="Ciudad"
name="city"
rules={[
{
required: true,
pattern: regex.regularName,
message: 'Por favor, introduce una ciudad válida',
},
]}
>
<Input type="text" placeholder="Ciudad" />
</Form.Item>
<Form.Item label="Nombre de usuario" name="username">
<Form.Item
label="Nombre de usuario"
name="username"
rules={[
{
required: true,
pattern: regex.username,
message: 'Por favor, introduce un nombre de usuario',
},
]}
>
<Input type="text" placeholder="Usuario" defaultValue={sessionInfoState.sessionInfo.OAuth.user?.name as string} />
</Form.Item>
<Form.Item label="Fecha de nacimiento" name="bornDate">
<Input type="date" placeholder="fecha_nacimiento"/>
<Form.Item
label="Fecha de nacimiento"
name="bornDate"
rules={[
{
required: true,
message: 'Por favor, introduce una fecha de nacimiento',
},
]}
>
<Input type="date" placeholder="fecha_nacimiento" />
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Expand Down
155 changes: 117 additions & 38 deletions src/components/AntDesign/modals/Course_post_modal.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import React, { useState } from 'react';
import { Button, Modal, Form, Input, Select, Alert } from 'antd';
import regex from '@/consts/regex';
import {disciplineParser} from '@/services/client/utils/utils';

import postCourse from '@/services/client/fetching/hooks/postCourse'
const { Option } = Select;
Expand Down Expand Up @@ -41,45 +43,122 @@ const Course_post_modal: React.FC<{ disciplines: any[] }> = ({ disciplines }) =>
<Button type="primary" onClick={showModal}>
Crear un curso
</Button>
<Modal title="Basic Modal" visible={isModalOpen} onOk={handleOk} onCancel={handleCancel} footer={null}>
<Modal title="Nuevo curso" visible={isModalOpen} onOk={handleOk} onCancel={handleCancel} footer={null}>
<Form form={form} onFinish={onFinish}>
<Form.Item label="Acrónimo" name="acronym">
<Input placeholder="Acrónimo" />
</Form.Item>
<Form.Item label="Nombre" name="name">
<Input placeholder="Nombre" />
</Form.Item>
<Form.Item label="Turno" name="turn">
<Input placeholder="Turno" />
</Form.Item>
<Form.Item label="Umbral de asistencia" name="attendance_threshold">
<Input type='number' placeholder="Umbral de asistencia" />
</Form.Item>
<Form.Item label="Nivel educativo" name="educational_level">
<Input placeholder="Nivel educativo" />
</Form.Item>
<Form.Item label="Duración" name="duration">
<Input type='number' placeholder="Duración" />
</Form.Item>
<Form.Item label="Horas prácticas" name="practical_hours">
<Input type='number' placeholder="Horas prácticas" />
</Form.Item>
<Form.Item label="Disciplina" name="discipline">
<Select placeholder="Selecciona una disciplina">
{disciplines.map((discipline) => (
// @ts-ignore
<Option key={discipline.name} value={discipline.name}></Option>
))}
</Select>
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Enviar
</Button>
<Button type="default" htmlType="button" onClick={handleCancel}>
Cancelar
</Button>
</Form.Item>
<Form.Item
label="Acrónimo"
name="acronym"
rules={[
{
required: true,
pattern: regex.courseAcronym,
message: 'Por favor, introduce un acrónimo válido. Ejemplo: FP_MP2',
},
]}
>
<Input placeholder="Acrónimo" />
</Form.Item>
<Form.Item
label="Nombre"
name="name"
rules={[
{
pattern: regex.regularName,
required: true,
message: 'Por favor, introduce un nombre',
},
]}
>
<Input placeholder="Nombre" />
</Form.Item>
<Form.Item
label="Turno"
name="turn"
rules={[
{
required: true,
message: 'Por favor, selecciona un turno',
},
]}
>
<Select placeholder="Turno">
<Select.Option value="Diurn">Diurno</Select.Option>
<Select.Option value="Nocturn">Nocturno</Select.Option>
</Select>
</Form.Item>
<Form.Item
label="Umbral de asistencia"
name="attendance_threshold"
rules={[
{
required: true,
message: 'Por favor, introduce un umbral de asistencia',
},
]}
>
<Input type='number' placeholder="Umbral de asistencia" />
</Form.Item>
<Form.Item
label="Nivel educativo"
name="educational_level"
rules={[
{
required: true,
message: 'Por favor, introduce un nivel educativo',
},
]}
>
<Input placeholder="Nivel educativo" />
</Form.Item>
<Form.Item
label="Duración"
name="duration"
rules={[
{
required: true,
message: 'Por favor, introduce una duración',
},
]}
>
<Input type='number' placeholder="Duración" />
</Form.Item>
<Form.Item
label="Horas prácticas"
name="practical_hours"
rules={[
{
required: true,
message: 'Por favor, introduce las horas prácticas',
},
]}
>
<Input type='number' placeholder="Horas prácticas" />
</Form.Item>
<Form.Item
label="Disciplina"
name="discipline"
rules={[
{
required: true,
message: 'Por favor, selecciona una disciplina',
},
]}
>
<Select placeholder="Selecciona una disciplina">
{disciplines.map((discipline) => (
// @ts-ignore
<Option key={disciplineParser(discipline.name)} value={disciplineParser(discipline.name)}></Option>
))}
</Select>
</Form.Item>
<Form.Item>
<Button type="primary" htmlType="submit">
Enviar
</Button>
<Button type="default" htmlType="button" onClick={handleCancel}>
Cancelar
</Button>
</Form.Item>
</Form>
</Modal>
</>
Expand Down
8 changes: 4 additions & 4 deletions src/components/AntDesign/modals/Detail_post_modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const ServiceConsumptionModal: React.FC<ServiceConsumptionModalProps> = ({
footer={null}
>
<Form form={form} onFinish={onFinish}>
<Form.Item label="Servicio" name="service_id">
<Form.Item label="Servicio" name="service_id" required={true}>
<Select placeholder="Selecciona un servicio" onChange={handleServiceChange}>
{services.map((service) => (
<Option key={service.id} value={service.id}>
Expand All @@ -99,7 +99,7 @@ const ServiceConsumptionModal: React.FC<ServiceConsumptionModalProps> = ({
))}
</Select>
</Form.Item>
<Form.Item label="Empleado" name="employee_id">
<Form.Item label="Empleado" name="employee_id" required={true}>
<Select placeholder="Selecciona un empleado" onChange={handleEmployeeChange}>
{filteredEmployees.map((employee) => (
<Option key={employee.id} value={employee.id}>
Expand All @@ -112,14 +112,14 @@ const ServiceConsumptionModal: React.FC<ServiceConsumptionModalProps> = ({
))}
</Select>
</Form.Item>
<Form.Item label="Cliente" name="client_id">
<Form.Item label="Cliente" name="client_id" required={true}>
<Select placeholder="Selecciona un cliente">
{clients.map((client) => (
<Option key={client.id} value={client.id}>{client.name}</Option>
))}
</Select>
</Form.Item>
<Form.Item label="Fecha y hora reservada" name="reserved_at">
<Form.Item label="Fecha y hora reservada" name="reserved_at" required={true}>
<DatePicker showTime format="YYYY-MM-DD HH:mm" disabledDate={isDateDisabled} />
</Form.Item>
<Form.Item>
Expand Down
Loading

0 comments on commit 8410f5d

Please sign in to comment.