Skip to content

Commit

Permalink
톡픽 임시 저장 시 모든 필드에 대한 공백 허용 (#695)
Browse files Browse the repository at this point in the history
* feat: TempTalkPick의 모든 필드를 공백 허용하도록 수정

* refactor: DTO 필드 검증 로직 분리

* refactor: override 명시
  • Loading branch information
Hanjaemo authored Nov 6, 2024
1 parent 58e9a4e commit de37785
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 10 deletions.
4 changes: 0 additions & 4 deletions src/main/java/balancetalk/talkpick/domain/TempTalkPick.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,16 @@ public class TempTalkPick {
@JoinColumn(name = "member_id")
private Member member;

@NotBlank
@Size(max = 50)
private String title;

@NotBlank
@Column(columnDefinition = "LONGTEXT")
private String content;

@NotBlank
@Size(max = 10)
@Column(name = "option_a")
private String optionA;

@NotBlank
@Size(max = 10)
@Column(name = "option_b")
private String optionB;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package balancetalk.talkpick.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
Expand All @@ -13,21 +12,17 @@
public class BaseTalkPickFields {

@Schema(description = "제목", example = "제목")
@NotBlank(message = "제목은 공백을 허용하지 않습니다.")
@Size(max = 50, message = "제목은 50자 이하여야 합니다.")
private String title;

@Schema(description = "본문 내용", example = "본문 내용")
@NotBlank(message = "본문 내용은 공백을 허용하지 않습니다.")
private String content;

@Schema(description = "선택지 A 이름", example = "선택지 A 이름")
@NotBlank(message = "선택지 이름은 공백을 허용하지 않습니다.")
@Size(max = 10, message = "선택지 이름은 10자 이하여야 합니다.")
private String optionA;

@Schema(description = "선택지 B 이름", example = "선택지 B 이름")
@NotBlank(message = "선택지 이름은 공백을 허용하지 않습니다.")
@Size(max = 10, message = "선택지 이름은 10자 이하여야 합니다.")
private String optionB;

Expand Down
34 changes: 34 additions & 0 deletions src/main/java/balancetalk/talkpick/dto/BaseTempTalkPickFields.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package balancetalk.talkpick.dto;

import jakarta.validation.constraints.NotBlank;

public class BaseTempTalkPickFields extends BaseTalkPickFields {

public BaseTempTalkPickFields(String title, String content, String optionA, String optionB, String sourceUrl) {
super(title, content, optionA, optionB, sourceUrl);
}

@NotBlank(message = "제목은 공백을 허용하지 않습니다.")
@Override
public String getTitle() {
return super.getTitle();
}

@NotBlank(message = "본문 내용은 공백을 허용하지 않습니다.")
@Override
public String getContent() {
return super.getContent();
}

@NotBlank(message = "선택지 이름은 공백을 허용하지 않습니다.")
@Override
public String getOptionA() {
return super.getOptionA();
}

@NotBlank(message = "선택지 이름은 공백을 허용하지 않습니다.")
@Override
public String getOptionB() {
return super.getOptionA();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class TempTalkPickDto {
@AllArgsConstructor
public static class SaveTempTalkPickRequest {

private BaseTalkPickFields baseFields;
private BaseTempTalkPickFields baseFields;

@Schema(description = "첨부한 이미지 ID 목록", example = "[214, 24]")
private List<Long> fileIds;
Expand Down

0 comments on commit de37785

Please sign in to comment.