InputValidation obsoleto

Olá!

Estou migrando uma versão bastante antiga do fórum (2.7.0) para a versão mais recente do Discourse. Um problema que estou encontrando é que ‘discourse/models/input-validation’ parece ter sido removido. Alguém poderia me orientar sobre como migrar isso para a solução mais precisa agora? Parece que a validação de entrada é feita de forma bem diferente agora.

Obrigado
David

Isso faz parte de algum plugin que você escreveu? Talvez compartilhe um link para ele, se possível.

Ou o que é que você está tentando validar.

1 curtida

Oi! Sim, desculpe, é um número de plugins. Está em um repositório git privado, mas eu poderia enviar exemplos de código.

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

Obrigado!

Então, um pequeno truque para você (que não é particularmente específico do Discourse, aliás):

No seu diretório de desenvolvimento do Discourse, execute:

git log -SInputValidation -p

E :tada: , você pode ver imediatamente um equivalente potencialmente moderno!:

-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 curtida

Ótimo! Pensei que talvez pudesse encontrar alterações no git relacionadas a isso, mas não sou muito bom com git. Obrigado! Isso ajudará muito. Pensei que teria que começar a usar as classes de validação mais específicas que existem, name-validation.js etc. Isso parece fácil o suficiente.

2 curtidas