본문 바로가기

스프링과 JPA 기반 웹 어플리케이션 개발85

05. 회원 가입: 폼 서브밋 회원 가입 폼 검증 JSR 303 애노테이션 검증 값의 길이, 필수 값 커스텀 검증 중복이메일, 닉네임 여부 확인 폼 에러 있을 시, 폼 다시 보여주기 회원 가입 처리 회원 정보 저장 인증 이메일 발송 처리 후 첫 페이지로 리다이렉트 (Post-Redirect-Get 패턴) 회원가입 정보를 전달할 SignUpForm 생성(여기서 JSR 303 애노테이션 검증) package me.weekbelt.studyolle.account; @Data public class SignUpForm { @NotBlank @Length(min = 3, max = 20) @Pattern(regexp = "^[ㄱ-ㅎ가-힣a-z0-9_-]{3,20}$") private String nickname; @Email @NotBlank.. 2020. 4. 17.
04. 회원가입 뷰 부트스트랩 네비게이션 바 만들기 폼 만들기 타임리프 SignUpForm 타입 객체를 폼 객체로 설정하기 웹 (HTML, CSS, JavaScript) 제약 검증 기능 사용하기 닉네임 (3~20자, 필수 입력) 이메일(이메일 형식, 필수 입력) 패스워드(8~50자, 필수 입력) /resources/account/sign-up.html에 부트스트랩 및 회원가입 폼 추가 로그인 가입 계정 만들기 닉네임 공백없이 문자와 숫자로만 3자 이상 20자 이내로 입력하세요. 가입후에 변경할 수 있습니다. 닉네임을 입력하세요. Nickname Error 이메일 스터디올래는 사용자의 이메일을 공개하지 않습니다. 이메일을 입력하세요. Email Error 패스워드 8자 이상 50자 이내로 입력하세요. 영문자, 숫자, 특수기호.. 2020. 4. 17.
03. 회원 가입: 컨트롤러 목표 GET "sign-up" 요청을 받아서 account/sign-up.html 페이지를 보여준다. 회원 가입 폼에서 입력받을 수 있는 정보를 "닉네임", "이메일", "패스워드" 폼 객체로 제공한다. Account 컨트롤러 등록 1 2 3 4 5 6 7 8 9 @RequiredArgsConstructor @Controller public class AccountController { @GetMapping("/sign-up") public String signUpForm(Model model){ model.addAtrribute(new SignUpForm()); return "account/sign-up"; } cs 화면 동작 확인(index.html) 1 2 3 4 5 6 7 8 9 10 Title .. 2020. 4. 17.
02. Account 도메인 클래스 Account 도메인에 필요한 데이터 로그인 프로필 알림설정 Account 엔티티 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 package me.weekbelt.studyolle.domain; import lombok.*; import javax.persistence.*; import java.time.LocalDateTime; import java.util.UUID; @Builder @AllArgsConstructor @NoArgsConstructor @.. 2020. 4. 17.