InputValidation تم إهمالها

أهلاً!

أقوم بترحيل إصدار قديم إلى حد ما من المنتدى (2.7.0) إلى أحدث إصدار من discourse. إحدى المشكلات التي أواجهها هي أنه يبدو أنه تم إزالة ‘discourse/models/input-validation’. هل يمكن لأحد أن يرشدني إلى كيفية ترحيل هذا إلى أي حل دقيق الآن. يبدو أن التحقق من صحة الإدخال يتم بشكل مختلف الآن.

شكراً
ديفيد

هل هذا في مكون إضافي قمت بكتابته؟ ربما شارك رابطًا إليه إذا كان ذلك ممكنًا.

أو ما الذي تحاول التحقق منه.

إعجاب واحد (1)

أهلاً! نعم، آسف، إنها مجموعة من الإضافات. إنها في مستودع 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 بشكل خاص بالمناسبة):

في دليل dev 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>
إعجاب واحد (1)

عظيم! كنت أعتقد أنني قد أتمكن من العثور على تغييرات git متعلقة بذلك ولكني لست خبيرًا حقيقيًا في git. شكرًا لك! سيساعد هذا كثيرًا. اعتقدت أنني اضطررت إلى البدء في استخدام فئات التحقق الأكثر تحديدًا الموجودة، name-validation.js وما إلى ذلك. يبدو هذا سهلاً بما فيه الكفاية.

إعجابَين (2)