diff --git a/frontend/src/components/recruitmentPost/ApplyForm/index.tsx b/frontend/src/components/recruitmentPost/ApplyForm/index.tsx index 8336df545..8c43035da 100644 --- a/frontend/src/components/recruitmentPost/ApplyForm/index.tsx +++ b/frontend/src/components/recruitmentPost/ApplyForm/index.tsx @@ -8,7 +8,6 @@ import { validateEmail, validateName, validatePhoneNumber } from '@domain/valida import { ApplicantData, ApplyRequestBody, Question } from '@customTypes/apply'; import { applyMutations, applyQueries } from '@hooks/apply'; import useForm from '@hooks/utils/useForm'; -import { formatPhoneNumber } from '@utils/formatPhoneNumber'; import { useParams } from 'react-router-dom'; import CheckBox from '@components/common/CheckBox'; @@ -57,7 +56,7 @@ export default function ApplyForm({ questions, isClosed }: ApplyFormProps) { body: { applicant: { ...applicant, - phone: applicant.phone.replace(/-/g, ''), + phone: applicant.phone, }, answers: Object.entries(answers).map(([questionId, answer]) => ({ questionId, @@ -95,7 +94,6 @@ export default function ApplyForm({ questions, isClosed }: ApplyFormProps) { onBlur: validatePhoneNumber.onBlur, onChange: validatePhoneNumber.onChange, }, - formatter: formatPhoneNumber, })} inputMode="numeric" label="전화 번호" diff --git a/frontend/src/domain/validations/apply.ts b/frontend/src/domain/validations/apply.ts index 362b9388f..7ce5e1a38 100644 --- a/frontend/src/domain/validations/apply.ts +++ b/frontend/src/domain/validations/apply.ts @@ -4,7 +4,7 @@ import { isEmptyString, isNumber } from './common'; const regex = { email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, - phone: /^\d{3}-\d{3,4}-\d{4}$/, + phone: /^\d{11}$/, name: /[^ㄱ-ㅎ가-힣a-zA-Z\s-]/, }; @@ -14,9 +14,12 @@ const isValidEmail = (email: string): email is EmailAddress => regex.email.test( type PhoneNumber = Branded; const isValidPhoneNumber = (phone: string): phone is PhoneNumber => regex.phone.test(phone); +type Name = Branded; +const isValidName = (name: string): name is Name => !regex.name.test(name); + export const validateName = { onBlur: (name: string) => { - if (regex.name.test(name)) { + if (!isValidName(name)) { throw new ValidationError({ inputName: 'name', message: '한글, 영문, 공백, - 만 입력해 주세요.' }); } @@ -26,7 +29,7 @@ export const validateName = { }, onChange: (name: string) => { - if (regex.name.test(name)) { + if (!isValidName(name)) { throw new ValidationError({ inputName: 'name', message: '한글, 영문, 공백, - 만 입력해 주세요.' }); } }, diff --git a/frontend/src/pages/SignUp/index.tsx b/frontend/src/pages/SignUp/index.tsx index 74f38ceaf..910e6bfa3 100644 --- a/frontend/src/pages/SignUp/index.tsx +++ b/frontend/src/pages/SignUp/index.tsx @@ -1,12 +1,11 @@ -import { useState } from 'react'; -import { Link } from 'react-router-dom'; -import InputField from '@components/common/InputField'; import Button from '@components/common/Button'; +import InputField from '@components/common/InputField'; +import Spinner from '@components/common/Spinner'; +import { validateEmail, validatePhoneNumber } from '@domain/validations/apply'; import useSignUp from '@hooks/useSignUp'; import useForm from '@hooks/utils/useForm'; -import { validateEmail, validatePhoneNumber } from '@domain/validations/apply'; -import { formatPhoneNumber } from '@utils/formatPhoneNumber'; -import Spinner from '@components/common/Spinner'; +import { useState } from 'react'; +import { Link } from 'react-router-dom'; import PasswordInput from './PasswordInput'; import S from './style'; @@ -29,7 +28,7 @@ export default function SignUp() { return; } - signUpMutate.mutate({ ...formData, phone: formData.phone.split('-').join('') }); + signUpMutate.mutate({ ...formData }); }; const deleteHangulFormatter = (value: string) => { @@ -56,7 +55,6 @@ export default function SignUp() {