Form태그 안 체크박스 체크 유무 확인

Web Development assistant·2022년 3월 15일
0

# spring

목록 보기
18/32

첫 프로젝트때 체크박스를 클릭하면 true는 잘 넘어오는데 false가 안 넘어와서 자바스크립트로 일일이 확인해서 값을 삽입하는 방식으로 했었다.

지금 공부하면서 새로 알게된것이

<div>
	<div class="form-check">
		<input type="checkbox" id="open" name="open" class="form-check-input">
		<input type="hidden" name="_open" value="on"> <!-- 히든 필드 추가 vlaue="on"으로 해줘야함 -->
		<label>판매오픈</label>
	</div>
</div>

필드를 boolean으로 받아야 한다.

히든 필드를 추가하면 폼 데이터에 저렇게 두개의 값이 넘어온다.
name="on", name="_on"

스프링이 두 개의 값을 넘겨받고 언더바 네임의 값과 일반 네임값,
두 값이 확인되면 true로 처리.
//item.isOpen = true


히든 태그인 언더바 값만 들어온다면 false처리

//item.isOpen = false

타임리프를 사용한다면

<input type="checkbox" th:field="${item.open}">

위의 필드 처리만 해줘도 자동으로 히든 태그를 생성하여 false값도 넘겨준다...
하지만
모든 프로젝트가 과거의 유산에 벗어나지는 못 하기 때문에 알아두어야 한다

0개의 댓글