InputValidation veraltet

Hallo!

Ich migriere eine ziemlich alte Forenversion (2.7.0) auf die neueste Discourse-Version. Ein Problem, auf das ich stoße, ist, dass ‘discourse/models/input-validation’ anscheinend entfernt wurde. Könnte mir jemand helfen, dies auf die jetzt korrekte Lösung zu migrieren? Es scheint, dass die Eingabevalidierung jetzt ganz anders erfolgt.

Danke
David

Ist das in einem Plugin, das Sie geschrieben haben? Vielleicht teilen Sie einen Link dazu, wenn das möglich ist.

Oder was versuchen Sie zu validieren?

1 „Gefällt mir“

Hallo! Ja, Entschuldigung, es sind eine Reihe von Plugins. Es befindet sich in einem privaten Git-Repository, aber ich könnte Codebeispiele senden.

 @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 });
    }
  },

Danke!

Ein kleiner Trick für Sie (der übrigens nicht besonders Discourse-spezifisch ist):

Machen Sie in Ihrem Discourse-Entwicklungsverzeichnis Folgendes:

git log -SInputValidation -p

Und :tada:, Sie können sofort ein potenziell modernes Äquivalent sehen!:

-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>
1 „Gefällt mir“

Großartig! Ich dachte, ich könnte Git-Änderungen finden, die damit zusammenhängen, aber ich bin kein Git-Genie. Danke! Das wird sehr helfen. Ich dachte, ich müsste die spezifischeren Validierungsklassen verwenden, die existieren, name-validation.js usw. Das sieht einfach genug aus.

2 „Gefällt mir“