InputValidation obsoleto

Hola!

Estoy migrando una versión bastante antigua del foro (2.7.0) a la última versión de Discourse. Un problema que estoy encontrando es que ‘discourse/models/input-validation’ parece haber sido eliminado. ¿Podría alguien guiarme para migrar esto a la solución que sea precisa ahora? Parece que la validación de entradas se hace de manera bastante diferente ahora.

Gracias
David

¿Está en algún plugin que hayas escrito? Quizás comparte un enlace si es posible.

O qué es lo que intentas validar.

1 me gusta

¡Hola! Sí, lo siento, es una serie de plugins. Está en un repositorio git privado, pero podría enviar ejemplos 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 });
    }
  },

¡Gracias!

Así que un pequeño truco para ti (que no es particularmente específico de Discourse, por cierto):

En tu directorio de desarrollo de Discourse, haz:

git log -SInputValidation -p

Y :tada:, ¡puedes ver inmediatamente un 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 me gusta

¡Genial! Pensé que podría encontrar cambios en git relacionados con eso, pero en realidad no soy un genio de git. ¡Gracias! Eso ayudará mucho. Pensé que tenía que empezar a usar las clases de validación más específicas que existen, name-validation.js, etc. Esto parece lo suficientemente fácil.

2 Me gusta