InputValidation déprécié

Salut !

Je migre une version assez ancienne du forum (2.7.0) vers la dernière version de Discourse. Un problème que je rencontre est que ‘discourse/models/input-validation’ semble avoir été supprimé. Quelqu’un pourrait-il me guider pour migrer cela vers la solution actuelle qui convient ? Il semble que la validation des entrées se fasse de manière assez différente maintenant.

Merci
David

Est-ce dans un plugin que vous avez écrit ? Peut-être partager un lien vers celui-ci si c’est possible.

Ou qu’essayez-vous de valider.

1 « J'aime »

Salut ! Oui, désolé, c’est un certain nombre de plugins. C’est dans un dépôt git privé mais je pourrais envoyer des exemples de code.

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

Merci !

Donc, une petite astuce pour vous (qui n’est pas particulièrement spécifique à Discourse d’ailleurs) :

Dans votre répertoire de développement Discourse, faites :

git log -SInputValidation -p

Et :tada: , vous pouvez immédiatement voir un équivalent potentiellement moderne ! :

-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 « J'aime »

Génial ! Je pensais pouvoir trouver des changements git liés à cela, mais je ne suis pas vraiment un génie de git. Merci ! Cela aidera beaucoup. Je pensais devoir commencer à utiliser les classes de validation plus spécifiques qui existent, name-validation.js etc. Cela semble assez facile.

2 « J'aime »