fix(character-form): 수정 모드에서 변경 사항만 있으면 저장 버튼 활성화
- isSaveDisabled 로직을 등록/수정 모드로 분리 - 수정(edit) 모드에서는 필수값 유효성과 무관하게 변경 감지 시 버튼 활성화 - 등록(create) 모드에서는 기존대로 폼 유효성으로 활성화 판단 - saveCharacter에서도 등록 모드에서만 필수값 유효성 검사를 강제하도록 수정 관련 파일: src/views/Chat/CharacterForm.vue
This commit is contained in:
parent
30e08c862a
commit
e09f654aba
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue