이전에 비슷한 내용이 올라온 적이 있다면 죄송합니다. 어제 이와 유사한 것을 찾았지만, 오늘 검색어를 입력해도 아무 결과도 나오지 않습니다.
시나리오:
Discourse 서버에서 특정 필드, 예를 들어 생년월일을 필수 필드로 설정하고 싶습니다. 이 필드는 가입 이후에 수정할 필요가 없는 것이어야 합니다. 따라서 해결책은 사용자 정의 필드에서 ‘가입 후 수정 가능’ 체크박스를 해제한 후, 해당 필드를 '가입 시 필수’로 설정하는 것입니다. 이는 이메일/사용자 이름으로 가입하는 일반적인 계정 생성 방식에서는 잘 작동합니다.
문제 1:
OAuth, DiscourseID, WP-Discourse 등을 통해 계정을 생성하는 사용자는 이러한 필드를 전혀 볼 수 없습니다. 이러한 사용자들이 해당 필드에 접근하려면 필드를 '모두에게 필수’로 표시해야 하는데, 이는 다음과 같은 문제로 이어집니다.
문제 2:
‘모두에게 필수’ 옵션은 명백한 이유로 인해 필드가 '가입 후 수정 가능’으로 표시되어 있어야 합니다. 이는 불행히도 사용자가 원할 때 언제든 필드를 변경할 수 있게 합니다… 이는 우리가 전혀 원하지 않는 상황입니다.
요청 기능:
‘모두에게 필수’ 옵션이 ‘가입 후 수정 가능’ 체크박스가 해제되어 있어도 작동할 수 있는 로직을 추가해 주세요. 로직은 먼저 필드가 비어 있거나 'null’인지 확인한 후, ‘가입 후 수정 가능’ 설정값을 확인해야 합니다. 이는 기본적으로 비어 있거나 null인 필수 필드에 대해서는 수정 가능 여부를 무시하는 것과 같습니다. 이를 통해 사용자 정의 필드를 한 번만 수정할 수 있게 하고, 값이 저장된 후에는 더 이상 수정할 수 없도록 할 수 있습니다.