fix(character-form): 수정 모드에서 변경 사항만 있으면 저장 버튼 활성화
- isSaveDisabled 로직을 등록/수정 모드로 분리 - 수정(edit) 모드에서는 필수값 유효성과 무관하게 변경 감지 시 버튼 활성화 - 등록(create) 모드에서는 기존대로 폼 유효성으로 활성화 판단 - saveCharacter에서도 등록 모드에서만 필수값 유효성 검사를 강제하도록 수정 관련 파일: src/views/Chat/CharacterForm.vue
This commit is contained in:
		| @@ -1014,10 +1014,12 @@ export default { | |||||||
|   computed: { |   computed: { | ||||||
|     isSaveDisabled() { |     isSaveDisabled() { | ||||||
|       if (this.isLoading) return true; |       if (this.isLoading) return true; | ||||||
|       if (!this.isFormValid) return true; |       // 등록(create) 모드에서는 폼 유효성으로 판단 | ||||||
|       if (!this.isEdit) return false; // 등록 시에는 변경 감지 없이 유효성만 확인 |       if (!this.isEdit) { | ||||||
|  |         return !this.isFormValid; | ||||||
|  |       } | ||||||
|  |  | ||||||
|       // 수정 시에는 변경 사항이 있는 경우에만 저장 가능 |       // 수정(edit) 모드에서는 변경 사항이 있는지만 판단(필수값 유효성과 무관) | ||||||
|       const changed = this.getChangedFields(); |       const changed = this.getChangedFields(); | ||||||
|       const hasNonIdField = Object.keys(changed || {}).some(k => k !== 'id'); |       const hasNonIdField = Object.keys(changed || {}).some(k => k !== 'id'); | ||||||
|       const imageChanged = !!this.character.image; // 새 이미지 선택 여부 |       const imageChanged = !!this.character.image; // 새 이미지 선택 여부 | ||||||
| @@ -1443,7 +1445,8 @@ export default { | |||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     async saveCharacter() { |     async saveCharacter() { | ||||||
|       if (!this.isFormValid) { |       // 등록(create) 모드에서만 필수값 유효성 검사를 강제 | ||||||
|  |       if (!this.isEdit && !this.isFormValid) { | ||||||
|         this.notifyError("필수 항목을 모두 입력하세요"); |         this.notifyError("필수 항목을 모두 입력하세요"); | ||||||
|         return; |         return; | ||||||
|       } |       } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Yu Sung
					Yu Sung