- action : form을 전송할 서버 주소 지정
- name : form을 식별하기 위한 이름
- method : form을 서버에 전송할 http 메서드 지정
- 일반적으로 받을 때 GET, 보낼 때 POST
- target : action 속성값에 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열 수 있도록 함
- enctype : form 전송 타입
- application/x-www-form-urlencoded : form 기본 타입
- multipart/form-data : 파일을 업로드할 때 주로 사용
- text/plain : 간단한 텍스트 데이터를 서버로 전송할 때 사용
- application/json : JSON 형식에 데이터를 전송할 때 사용 (주로 API 요청 및 응답)
- input
- readonly : 선택 X 백엔드로 데이터 전송 O
- disabled : 선택 X 백엔드로 데이터 전송 X
- select
- label
- fieldset, legend
- textarea
- button 등
body-parser
- 데이터를 쉽게 처리할 수 있도록 도와주는 라이브러리
- Post로 정보를 전송할 때, 요청의 body (req.body)로 받을 수 있게 도와줌
- express 4.x부터 body-parser가 내장되어 있어 별도의 설치 필요 없음
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
- extended 옵션 : 중첩된 객체 표현 허용 여부
- true : qs 모듈 사용
- false : query-string 모듈 사용
ex) person[name]=bobby&person[age]=3
true : { person: {name: "bobby", age: "3" }}
false : { "person[age]": "3", "person[name]": "bobby" }
- form 요소들에 정보가 올바르게 입력되었는지 검사하는 것
- required : 필수 값
- minlength / maxlength : 최소 / 최대 문자 수
- min / max : 최소 / 최대 값
- type : 입력받는 정보 타입
- pattern : 정규식으로 검사