기본 콘텐츠로 건너뛰기

방송대 방통대 HTML5웹프로그래밍 4강 - HTML 표현: 웹 폼 - 요약 노트 시험족보 예상문제 - 올에이클래스

HTML5웹프로그래밍 4강 - HTML 표현: 웹 폼

HTML5웹프로그래밍 4강 - HTML 표현: 웹 폼

웹 폼을 구성하는 form과 input의 역할 및 주요 속성을 익히고, label·fieldset·legend를 이용한 접근성 높은 구조를 학습한다. 텍스트·숫자·선택·파일·날짜 입력과 select, datalist, output, button의 차이를 이해하여 편리하고 안전한 입력 화면을 설계한다.

제1장 좋은 웹 폼과 form 요소

1. 웹 폼의 역할

웹 폼은 사용자와 서비스가 상호작용하는 가장 중요한 접점이다. 로그인, 회원가입, 검색, 설문, 글쓰기, 결제는 모두 웹 폼의 변형이다. 폼은 사용자가 입력한 값을 서버로 전달하거나 브라우저에서 1차 검증하는 사용자 인터페이스이며, 단순한 입력창을 넘어 입력 실수를 설계 단계에서 줄여야 한다.

잘 만든 폼은 구조, 입력 경험, 검증, 보안의 네 축으로 완성된다. 올바른 요소로 의미를 제공하고, 모바일 키보드와 자동완성을 활용하며, 브라우저와 서버에서 값을 검증하고, HTTPS와 적절한 전송 방식을 사용해야 한다.

브라우저의 유효성 검사는 사용자 경험을 돕는 1차 검증일 뿐이다. 클라이언트 검증은 우회할 수 있으므로 최종 데이터 검증은 반드시 서버에서 다시 수행해야 한다.

2. form 요소

<form>은 여러 입력값을 ‘전송 가능한 데이터’라는 의미 있는 단위로 묶는 컨테이너이다. input, textarea, select, datalist, output, fieldset, label 같은 폼 요소를 포함하며, 데이터가 어디로 전송되고 어떤 HTTP 방식과 인코딩을 사용할지 총괄한다. form 자체는 화면에 직접 보이지 않지만 개발자 도구에서 구조를 확인할 수 있다.

form 요소 안에 또 다른 form 요소를 넣는 중첩은 허용되지 않는다. 개인정보를 받는 폼은 HTTPS, 최소한의 정보 수집, 명확한 동의와 안내를 기본으로 삼는다.

3. form의 주요 속성

속성역할핵심 사용법
action데이터를 처리할 서버 URL예: action="/login". 비동기 처리에서는 생략하는 경우도 있다.
methodHTTP 전송 방식GET은 검색·조회, POST는 로그인·글쓰기·가입·결제 등에 사용한다.
enctype데이터 인코딩 방식파일 업로드 시 multipart/form-data가 필수이다.
autocomplete브라우저 자동완성on 또는 off로 폼 전체의 자동완성을 제어한다.
novalidate브라우저 기본 유효성 검사 생략임시 저장이나 개발 테스트 같은 특수 상황에 제한적으로 사용한다.

GET 방식은 입력값이 URL의 질의 문자열에 붙어 브라우저 기록 등에 남을 수 있으므로 비밀번호 같은 민감 정보에 적합하지 않다. POST는 값을 요청 본문에 담아 보내지만, 전송 보안을 위해서는 POST만으로 충분하지 않고 HTTPS도 함께 사용해야 한다.

폼 안의 입력 요소에 name 속성이 없으면 해당 값은 서버로 전송되지 않는다. id는 문서 안에서 요소를 식별하고 label과 연결하는 역할, name은 서버가 받는 변수명을 정하는 역할이므로 서로 구별해야 한다.

4. form 속성을 이용한 외부 요소 연결

입력 요소나 버튼이 form의 물리적 바깥에 있어도 해당 form의 id와 요소의 form 속성값을 일치시키면 같은 폼에 연결할 수 있다. 본문 입력창과 화면 하단의 고정 저장 버튼처럼 레이아웃 때문에 요소를 떨어뜨려야 할 때 유용하다.

<form id="user-profile" action="/update" method="POST">
  <input type="text" name="username">
</form>
<input type="email" name="email" form="user-profile">
<button type="submit" form="user-profile">저장하기</button>

제2장 input 타입과 공통 속성

1. type 속성의 중요성

<input>은 type 속성값에 따라 입력 UI, 기본 유효성 검사, 모바일 키보드가 달라진다. 브라우저마다 모양은 조금 다를 수 있으므로 외형보다 데이터의 의미와 검증 규칙에 맞는 type을 선택하는 것이 중요하다.

분류주요 type용도
텍스트·데이터text, password, email, tel, url, number, search문자열과 특정 형식의 값 입력
선택·체크checkbox, radio, file, range, color항목 선택, 파일·범위·색상 지정
날짜·시간date, month, week, time, datetime-local표준 형식의 날짜와 시간 선택
버튼·기능submit, reset, button, hidden제출, 초기화, 사용자 기능, 숨은 값 전송

email은 이메일 형식을 검사하고 @ 키가 있는 모바일 키보드를, tel은 숫자 중심 키패드를, url은 주소 입력용 키를 제공한다. number는 숫자 입력과 증감 UI, search는 검색에 최적화된 삭제 버튼과 모바일 엔터키를 제공할 수 있다.

2. 사용 경험을 돕는 속성

value는 현재 또는 초기 입력값이며, 버튼 타입에서는 버튼에 표시되는 글자이다. placeholder는 입력 전에 보이는 힌트지만 값을 입력하면 사라지므로 label을 대신할 수 없다. autocomplete은 username, current-password, new-password, tel처럼 구체적인 토큰을 지정하면 브라우저가 알맞은 저장 정보와 연결할 수 있다.

autofocus는 페이지가 열릴 때 입력 포커스를 자동으로 배치하고, spellcheck는 맞춤법 검사를 제어한다. list는 input과 datalist를 연결하며, step은 number, range, 날짜·시간 값의 증감 간격을 정한다.

3. 제약 조건과 유효성 검사

required는 빈 값 제출을 막고, pattern은 정규식 패턴을 요구한다. minlength와 maxlength는 문자열 길이를, min과 max는 숫자나 날짜 범위를 제한한다. 파일 입력의 accept는 선택 화면에서 파일 유형을 걸러 주고 multiple은 여러 값 또는 파일 선택을 허용한다.

maxlength 같은 브라우저 제한은 서버와 데이터베이스의 제한값과 일치시켜야 한다. 클라이언트의 required, pattern, accept는 변조할 수 있으므로 서버 검증을 대체하지 않는다.

4. 상태와 전송 여부

checked는 checkbox와 radio의 초기 선택 상태를 정한다. readonly는 값을 보여 주되 수정하지 못하게 하며 그 값은 서버로 전송된다. disabled는 요소를 비활성화하며 그 값은 서버로 전송되지 않는다.

readonly: 수정 불가, 서버 전송됨
disabled: 사용 불가, 서버 전송되지 않음

5. inputmode

inputmode는 데이터 타입 자체를 바꾸지 않고 모바일에서 표시할 가상 키보드 모양만 지정한다. 인증번호·신용카드번호·우편번호처럼 숫자이지만 계산 대상이 아닌 값은 type="text" inputmode="numeric" 조합이 유용하다. decimal은 소수점, tel은 전화번호, email과 url은 각각 이메일과 웹 주소 입력 키보드를 유도한다.

제3장 폼 접근성과 구조화

1. label 요소

<label>은 입력의 의미를 정의하고 클릭 영역을 넓히며 스크린 리더가 입력 목적을 알려 주게 하는 웹 접근성의 핵심 요소이다. placeholder는 입력 중 사라지므로 label의 대체물이 아니다.

명시적 연결은 label의 for와 input의 id를 같은 값으로 지정한다. 스크린 리더 인식과 CSS 제어에서 더 확실하여 권장된다. 암시적 연결은 input을 label 안에 감싸는 방식이며 checkbox와 radio의 클릭 영역을 넓힐 때 자주 사용한다.

<label for="user-id">아이디</label>
<input type="text" id="user-id" name="uid">

2. fieldset과 legend

<fieldset>은 관련된 입력 요소를 하나의 그룹으로 묶고, <legend>는 그 그룹의 제목을 제공한다. 특히 라디오 버튼과 체크박스 묶음에서는 각 선택지가 어떤 질문에 대한 답인지 스크린 리더가 이해하도록 하는 필수적인 구조이다.

legend는 fieldset의 첫 번째 자식으로 배치한다. fieldset에 disabled를 지정하면 내부 input과 button을 한꺼번에 비활성화할 수 있다. 화면의 기본 테두리가 필요하지 않으면 CSS로 제거하더라도 의미 구조는 유지한다.

<fieldset>
  <legend>성별</legend>
  <label><input type="radio" name="gender" value="M"> 남성</label>
  <label><input type="radio" name="gender" value="F"> 여성</label>
</fieldset>

label은 개별 입력의 이름을 제공하고, fieldset과 legend는 여러 선택지가 공유하는 질문과 그룹 맥락을 제공한다.

제4장 텍스트와 특정 형식의 데이터 입력

1. text와 textarea

줄바꿈이 필요 없는 아이디, 이름, 주소, 제목은 <input type="text">로 입력한다. 자기소개나 게시글 본문처럼 여러 줄이 필요한 내용은 <textarea>를 사용한다. textarea의 rows와 cols는 화면에 보이는 줄 수와 너비를 정하고, wrap은 줄바꿈 전송 방식을 정한다.

textarea의 초기값은 value 속성이 아니라 시작 태그와 종료 태그 사이에 쓴다. wrap="soft"는 화면 줄바꿈을 전송값에 강제로 포함하지 않고, wrap="hard"는 보이는 줄바꿈을 포함해 전송한다. 실제 크기는 CSS로 조절하되 기본 높이를 위해 rows를 지정할 수 있다.

2. password와 search

password 타입은 입력 내용을 화면에서 가리고 minlength, required 등과 함께 사용할 수 있다. 로그인은 autocomplete="current-password", 가입이나 비밀번호 변경은 autocomplete="new-password"로 브라우저 비밀번호 관리자와 연결한다.

search 타입은 검색 행동에 최적화되어 모바일 키보드의 엔터키가 검색으로 바뀌고 입력 삭제 UI가 제공될 수 있다. 시각적으로 label을 숨기는 검색창이라도 접근 가능한 이름을 위해 label 또는 aria-label이 필요하다.

3. tel, url, email

타입브라우저 기능주의점
tel전화번호용 모바일 키패드전화번호 형식을 자동 검증하지 않으므로 필요하면 pattern을 사용한다.
urlURL 형식 검사와 주소용 키보드일반적으로 http:// 또는 https://를 포함한 유효한 주소가 필요하다.
email이메일 형식 검사와 @ 키 제공multiple을 지정하면 쉼표로 여러 이메일을 입력할 수 있다.

4. number, range, output

number는 수량과 나이처럼 정확한 수치를 직접 입력하며 min, max, step, value로 범위와 단위를 제어한다. range는 볼륨이나 밝기처럼 대략적인 정도를 슬라이더로 선택한다. range는 현재 수치가 바로 보이지 않는 경우가 많으므로 output이나 다른 표시 요소로 값을 함께 보여 주는 것이 좋다.

<output>은 견적, 세금, 점수, 슬라이더 값, 장바구니 합계처럼 계산 결과를 표시한다. for 속성에 계산의 원인이 되는 입력 요소 id들을 공백으로 나열할 수 있다. form의 input 이벤트를 이용하면 내부 값이 변할 때 결과를 갱신할 수 있다.

output은 사용자 입력을 받는 요소가 아니라 계산 결과를 의미 있게 표시하는 요소이다. 강의 예제는 자바스크립트 계산과 연결하지만, 포스팅 본문은 실행 스크립트 없이 개념만 설명한다.

제5장 선택 입력과 파일 업로드

1. radio와 checkbox

radio는 여러 항목 중 하나만 선택하는 1 of N 방식이고, 같은 name을 가진 항목들이 하나의 그룹이 된다. 한 번 선택한 radio는 같은 그룹의 다른 항목을 골라야 변경되므로 민감한 질문에는 ‘선택 안 함’을 제공하거나 처음부터 선택하지 않은 상태를 고려한다.

checkbox는 각 항목을 독립적으로 선택하거나 해제할 수 있어 N of N 다중 선택에 사용한다. 이용약관 같은 필수 동의에는 required를 지정할 수 있으며, 선택 항목의 실제 서버 전송값은 value로 정한다.

구분radiocheckbox
선택 수같은 name 그룹에서 하나여러 개 가능
직접 해제선택한 항목을 다시 눌러 해제할 수 없음다시 눌러 해제 가능
대표 용도배송·결제 방법, 성별취미, 약관 동의, 추가 옵션

2. file 입력과 폼 인코딩

file 타입은 사용자의 기기에서 파일을 선택하여 업로드한다. 파일 내용을 올바르게 전송하려면 form에 method="post"enctype="multipart/form-data"를 지정해야 한다. 이를 빠뜨리면 파일 내용이 제대로 전달되지 않을 수 있다.

accept는 image/*, video/*, .pdf처럼 선택 화면에 보일 파일 유형을 제한하고, multiple은 여러 파일 선택을 허용한다. 모바일의 capture는 카메라를 직접 실행하도록 유도할 수 있다. 다만 accept는 선택 편의를 위한 필터일 뿐 보안 검사가 아니므로 서버에서 파일 종류, 크기, 내용 등을 반드시 재검사한다.

파일 업로드의 필수 조합은 POST + multipart/form-data이다. accept로 제한했더라도 악의적 업로드를 막기 위한 서버 검증이 필요하다.

제6장 목록·색상·버튼·날짜 입력

1. select와 datalist

<select>는 정해진 목록에서만 값을 선택하게 하므로 데이터 신뢰도가 높다. <datalist>는 input에 추천 후보를 제공하지만 사용자가 목록에 없는 새 값도 직접 입력할 수 있다. 따라서 select는 강제 선택, datalist는 자동완성 제안이라는 차이가 있다.

기준selectdatalist
자유 입력불가능가능
목록 검색기본적으로 제한적입력하면서 후보 필터링
데이터 일관성높음오타 가능성이 있어 상대적으로 낮음
용도은행, 배송 옵션, 고정 분류도시·검색어·도메인 추천

select의 option은 화면 텍스트와 서버로 보낼 value를 정의하며 disabled와 selected를 사용할 수 있다. select에는 placeholder 속성이 없으므로 첫 option을 빈 value, disabled, selected로 지정해 안내 문구처럼 사용한다. optgroup은 많은 option을 label별로 묶어 가독성을 높인다.

select의 multiple은 다중 선택, size는 한 번에 보이는 행 수를 정한다. 기본 다중 선택 UI는 사용하기 어려울 수 있어 체크박스나 별도 컴포넌트를 대안으로 고려한다.

2. color

color 타입은 운영체제의 색상 선택기를 호출한다. 값은 #RRGGBB 형식의 16진수 색상 코드이고 기본값은 #000000이다. 투명도는 포함하지 않으며 운영체제에 따라 UI 모양이 다를 수 있다. datalist와 연결하면 추천 색상 팔레트를 제시할 수 있다.

3. submit, reset, button

submit은 폼 데이터를 전송하고, reset은 폼 입력을 초기 상태로 되돌리며, button은 기본 동작 없이 자바스크립트 기능에 연결한다. reset은 사용자가 작성한 내용을 실수로 지울 위험이 커 실무에서 지양한다.

<button>은 텍스트뿐 아니라 이미지와 강조 요소를 포함할 수 있어 디자인과 접근성에 유리하다. form 안에서 button의 type을 생략하면 기본값이 submit이므로 단순 기능 버튼에는 반드시 type="button"을 지정해야 뜻하지 않은 제출을 막을 수 있다.

이미지 전송 버튼이 필요하면 input type="image"보다 button 안에 img와 대체 텍스트를 넣는 방식이 접근성과 디자인 일관성에 유리하다.

4. 날짜와 시간 타입

type입력 내용서버 전송 형식 예
date년-월-일2026-05-01
month년-월2026-05
week년-주차2026-W18
time시:분14:30
datetime-local지역 시간대의 날짜와 시간2026-05-01T14:30

브라우저 화면에 보이는 날짜 형식은 사용자 지역 설정에 따라 달라도 서버로 전송되는 value는 표준 형식을 따른다. min과 max로 선택 범위를 제한하고 step으로 날짜 또는 시간 간격을 정한다. value="2026-05-05"는 유효하지만 슬래시를 쓴 value="2026/5/5"는 date의 표준 형식이 아니다.

핵심 개념 정리

  • form은 입력값을 전송 단위로 묶으며 action, method, enctype, autocomplete 등으로 전송을 제어한다.
  • GET은 조회에 적합하고 값이 URL에 나타난다. 민감 정보와 파일 업로드 등은 목적에 맞게 POST를 사용하고 HTTPS를 적용한다.
  • 입력 요소의 name이 서버 변수명이며 name이 없으면 값이 전송되지 않는다. id는 label 연결과 요소 식별에 사용한다.
  • type은 데이터 의미, 기본 검증, 모바일 키보드를 결정하므로 사용자의 입력 의도에 맞게 고른다.
  • placeholder는 label을 대신할 수 없고 label은 의미, 클릭 영역, 스크린 리더 접근성을 제공한다.
  • fieldset과 legend는 radio·checkbox 선택지의 공통 질문과 그룹 맥락을 제공한다.
  • readonly 값은 전송되지만 disabled 값은 전송되지 않는다. 브라우저 검증과 accept 필터는 서버 검증을 대체하지 않는다.
  • textarea는 여러 줄 입력, output은 계산 결과 표시, radio는 단일 선택, checkbox는 다중 선택에 사용한다.
  • 파일 업로드에는 POST와 multipart/form-data가 필요하며 파일 종류와 크기를 서버에서 다시 검사한다.
  • select는 목록에서 강제 선택하고 datalist는 추천하면서 자유 입력을 허용한다.
  • button은 type을 생략하면 submit이므로 단순 기능 버튼은 type="button"을 명시한다.
  • 날짜·시간 입력값은 화면 표시와 관계없이 YYYY-MM-DD 같은 표준 서버 전송 형식을 따른다.

좋은 웹 폼은 올바른 태그를 쓰는 것에서 끝나지 않는다. 입력 의미에 맞는 type과 자동완성·모바일 키보드를 제공하고, 모든 입력에 접근 가능한 이름과 그룹 맥락을 붙이며, 클라이언트와 서버 양쪽에서 데이터를 검증해야 한다. 특히 name의 전송 역할, GET과 POST, readonly와 disabled, select와 datalist의 차이는 구현과 시험에서 반복해서 확인해야 할 핵심이다.

예상문제 20선

1. form 요소의 역할로 가장 적절한 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
form은 여러 폼 컨트롤을 묶고 데이터의 목적지, 전송 방식, 인코딩 등을 관리하는 컨테이너이다.

2. 파일 업로드 폼에 필요한 조합은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
파일 내용을 서버로 전송하려면 method="post"와 enctype="multipart/form-data"를 지정해야 한다.

3. input 값이 서버로 전송될 때 변수명을 정하는 속성은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
name은 서버가 받는 데이터의 변수명이며, 입력 요소에 name이 없으면 그 값은 폼 데이터에 포함되지 않는다.

4. GET 방식에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
GET은 조회 요청에 적합하지만 값이 질의 문자열로 URL에 포함되어 기록에 남을 수 있으므로 민감 정보에 부적절하다.

5. placeholder에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
placeholder는 입력 예시를 보여 주지만 입력하면 사라진다. 지속적인 의미와 접근성을 위해 label이 별도로 필요하다.

6. readonly와 disabled의 차이로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
두 속성 모두 사용자가 값을 바꾸지 못하게 하지만 readonly 값은 제출되고 disabled 값은 폼 데이터에서 제외된다.

7. label의 명시적 연결 방법은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
명시적 label은 for="user-id"와 id="user-id"처럼 같은 식별자로 입력 요소와 연결한다.

8. fieldset 안에서 그룹 제목을 제공하며 첫 번째 자식으로 배치하는 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
legend는 fieldset으로 묶은 입력 그룹의 제목을 제공하며 스크린 리더가 선택지의 공통 질문을 이해하게 한다.

9. 여러 줄 텍스트 입력에 적합한 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
textarea는 줄바꿈이 가능한 자기소개나 게시글 본문 같은 긴 텍스트를 입력할 때 사용한다.

10. 전화번호 형식을 브라우저에서 강제하려 할 때 tel과 함께 사용할 수 있는 속성은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
tel은 전화번호용 키패드를 제공하지만 형식을 자동 검증하지 않으므로 pattern으로 원하는 형식을 지정할 수 있다.

11. range 입력에서 현재 선택값을 의미 있게 표시하는 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
output은 슬라이더 값이나 합계처럼 입력에 따라 계산·변경되는 결과를 표시하는 요소이다.

12. 같은 그룹에서 하나만 선택되도록 radio를 구성하는 기준은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
radio는 같은 name을 공유하는 항목을 하나의 그룹으로 보며 그중 하나만 선택할 수 있다.

13. file의 accept 속성에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
accept는 사용자의 선택을 돕는 필터이며 우회할 수 있으므로 서버에서 파일 종류와 크기를 다시 검사해야 한다.

14. select와 datalist의 차이로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
select는 정해진 값만 허용해 일관성이 높고, datalist는 추천 후보를 제시하면서 직접 입력도 허용한다.

15. select의 많은 option을 범주별로 묶는 요소는?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
optgroup은 label 속성으로 select의 여러 option을 한식·양식 같은 범주로 묶어 보여 준다.

16. form 안의 button 요소에서 type을 생략하면 기본 동작은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
form 내부의 button은 type 기본값이 submit이다. 단순 자바스크립트 기능이면 type="button"을 명시해야 한다.

17. color 타입이 전송하는 값의 기본 형식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ①
color 입력값은 #ff0000처럼 RGB 각 성분을 두 자리 16진수로 나타낸 #RRGGBB 형식이다.

18. datetime-local 값의 올바른 형식은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ③
datetime-local은 날짜와 시간을 T로 연결한 YYYY-MM-DDTHH:mm 형식의 값을 사용한다.

19. 브라우저 유효성 검사에 대한 설명으로 옳은 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ②
required나 pattern 같은 클라이언트 검증은 우회될 수 있으므로 데이터 신뢰성과 보안을 위해 서버 재검증이 필수이다.

20. 날짜 입력의 value로 올바른 것은?

정답입니다.

오답입니다. 답안을 다시 선택해 보세요.

정답 및 해설 보기

정답: ④
date 타입의 value와 서버 전송값은 YYYY-MM-DD 형식을 사용한다.

댓글