fix: 업무 내용 필수 검증 추가 + 제목 에러 표기 정리

- 업무 내용(*)이 표기상 필수인데 검증이 없던 문제 → 필수로 강제
  · 프론트: 인라인 검증(에디터 빨강 테두리 + '업무 내용을 입력해 주세요.'),
    입력 시 즉시 해제
  · 백엔드: CreateTaskDto.content 를 @ArrayNotEmpty 필수로(데이터 계약 일치)
- 제목 에러 표기 정리: 1.5rem 큰 placeholder 가 빨갛게 변하며 아래 메시지와
  이중으로 강조되던 것을 제거 → 작은 인라인 메시지만 표시(차분하게)

검증: 백엔드 build/lint 0·8 tests, 프론트 type-check/lint/build 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-21 11:36:58 +09:00
parent 9f66c6d0ec
commit 612d6c7de8
2 changed files with 26 additions and 11 deletions
@@ -37,17 +37,16 @@ export class CreateTaskDto {
title!: string;
@ApiProperty({
description: '본문 문단 배열(선택)',
description: '본문 문단 배열(필수)',
type: [String],
required: false,
example: ['9월 신제품 캠페인 메인 배너를 제작합니다.'],
})
@IsOptional()
@IsArray()
@ArrayNotEmpty({ message: '업무 내용을 입력해 주세요.' })
@ArrayMaxSize(200, { message: '본문 문단이 너무 많습니다.' })
@IsString({ each: true })
@MaxLength(5000, { each: true })
content?: string[];
content!: string[];
@ApiProperty({
description: '담당자 사용자 ID 배열(프로젝트 멤버만 가능)',