<> 문자 사이에 텍스트를 추가하면 빈 게시물이 표시됩니다. (이 게시물에 예시 있음)

아래 숨겨진 텍스트:

<OnlyTwentyCharacters>

이것은 허용되지 않는 HTML 태그로 변환되어 안전을 위해 제거됩니다. 버그가 아닙니다.

게시글을 < 로 시작하려면 &lt;를 사용하세요.

설명해 주셔서 감사합니다. 저도 그렇게 생각했습니다.

discourse에서 허용되지 않는 HTML을 단순히 제거하는 함수가 있나요? 사용 사례는 다음과 같습니다.

Custom Wizard 플러그인에서는 이러한 제거된 문자를 제외한 총 문자 수가 최소 문자 수 제한보다 적은 게시물을 사용자가 제출하는 것을 방지하고 싶습니다.

또한, 다시 생각해보니 이 문제는 discourse에도 관련이 있습니다. 렌더링된 콘텐츠가 최소 문자 수 제한보다 적으면 제출을 허용하지 않는 것이 합리적이지 않나요? 이 문제는 들리는 것보다 훨씬 복잡하다는 것을 알고 있습니다.

같은 문제를 발견하면, 우리는 단순히 MD로 격리합니다.

<here is the good stuff>

<here is the sweet stuff>

```<here is the good stuff>```

`<here is the sweet stuff>`

사기치는 놈은 계속 사기칠 테니까요(cheaters gonna cheaṱ̴̢̧͔͓̘̫̫̣͕̻͉̩̯͙̝͈̞̼̻̱͉̘̘̮̜̝̬̻͕̯̜̦̹̜̐̐͊͒̉̄́͑̋̎́̋̃̀̆̕͜͜ͅ). 유니코드는 거대한 괴물이며, 비어 보이지만 실제로는 비어 있지 않은 게시물을 시뮬레이션하기 위해 사람들이 발견할 수 있는 수많은 엣지 케이스가 있습니다.

바로 여기서 모더레이션(운영진 관리)이 개입해야 합니다.

사용할 수 있는 훅(hook)이 있는지 확신은 없지만, StrippedLengthValidator 앞에 코드를 추가하는 방식으로 구현할 수 있을 것 같습니다.

몽키 패칭(monkey patching) 없이 이를 수행할 수 있도록 해당 부분에 훅을 추가하는 것에 대해 반쯤 동의합니다.

QAPage 스키마 검증에서 빈 항목으로 표시되고 있어 OP를 수정했습니다.

@sam

우리는 이 설명을 우려를 제기한 사용자에게 전달할 수 있었습니다. 또한, Custom Wizard 플러그인의 컨텍스트에서는 모델 검증(model validations)을 건너뛰고 있습니다.

하지만 코어 디스커스(core discourse)의 경우, 쿠킹된(cooked) 버전의 길이가 min post length보다 짧으면 게시글 제출을 금지하는 것은 어떨까요?

이 부분은 잘 모르겠네요. 사용자에게 직관적이지 않을 수 있습니다. 원본(raw)이 쿠킹된 버전보다 길지만 합법적인 경우가 있을 수 있으니까요.