InputValidation이 비추천되었습니다

안녕하세요!

꽤 오래된 포럼 버전(2.7.0)을 최신 discourse 버전으로 마이그레이션하고 있습니다. 그런데 'discourse/models/input-validation’이 제거된 것 같습니다. 현재 올바른 해결책으로 마이그레이션하는 방법에 대해 조언해 주실 수 있을까요? 입력 검증이 지금은 꽤 다른 방식으로 이루어지는 것 같습니다.

감사합니다.
David

혹시 작성하신 플러그인 안에 있는 건가요? 가능하시다면 링크를 공유해 주시면 좋겠습니다.

아니면, 정확히 무엇을 검증하려는 건지도 알려주세요.

안녕하세요! 네, 죄송합니다. 플러그인 여러 개입니다. 비공개 git 저장소에 있지만 코드 예시를 보내드릴 수 있습니다.

 @computed('model.title', 'lastValidatedAt')
  titleValidation(title, lastValidatedAt) {
    if(this.model.get('titleMissing') && !title) {
      return InputValidation.create({ failed: true, reason: I18n.t('news.error.title_missing'), lastShownAt: lastValidatedAt });
    }
  },

감사합니다!

여러분께 작은 팁을 하나 드리겠습니다(참고로 이건 Discourse에 국한된 내용은 아닙니다):

개발용 discourse 디렉터리에서 다음을 실행하세요:

git log -SInputValidation -p

그리고 :tada: , 바로 잠재적인 현대적인 대안을 확인할 수 있습니다!:

-import InputValidation from "discourse/models/input-validation";
+import EmberObject from "@ember/object";

 export default Controller.extend({
   adminWebHooks: inject(),
@@ -41,14 +41,14 @@ export default Controller.extend({
   secretValidation(secret) {
     if (!isEmpty(secret)) {
       if (secret.indexOf(" ") !== -1) {
-        return InputValidation.create({
+        return EmberObject.create({
           failed: true,
           reason: I18n.t("admin.web_hooks.secret_invalid")
         });

<SNIP>

좋아요! 그와 관련된 git 변경사항을 찾을 수 있을 것 같았는데, 솔직히 git 전문가라기보다는 초보자에 가까워서요. 감사합니다! 정말 큰 도움이 될 것 같습니다. 기존에 존재하는 더 구체적인 검증 클래스(예: name-validation.js 등)를 사용해야 하는 줄 알았거든요. 이 방법은 충분히 쉬워 보입니다.