كيف يمكنني إجراء التحقق من الصحة لحقل المعرف؟

0

لدي مخطط النمس ، حيث اتصلت بالمجال Id وقمت بها Id حقل إلزامي للجميع GET, PUT, POST and DELETE الطلبات.

لذا لدي حالة حيث Id أمر إلزامي للحصول على الطلب ووضعه وحذفه ، ولكن لا بد لي من تقديمه Id ليس إلزاميا ل POST طلب. كيف يمكنني القيام بذلك؟ أي مساعدة؟

3 الاجابة

0

gagan ، من المرجح أن تكون هذه مدخلاتك من المستخدمين الذين يستهلكون واجهات برمجة التطبيقات الخاصة بك. المصادقات التي أضفتها هي لإدراج المستندات في مونغو. لذلك كلاهما مجموعات مختلفة. ربما يتعين عليك إضافة عمليات التحقق من صحة إدخال المستخدم (الذي سيكون req.body) للتأكد من أن لديك إدخالات صحيحة قبل إدراجها في قاعدة البيانات.

يمكنك إضافة عمليات التحقق إما باستخدام عبارات شرطية (مثل إذا) أو يمكنك اختيار استخدام مكتبة جهة خارجية. تتوفر مكتبة TP واحدة وهي أنيقة وموجزة وسهلة الاستخدام. الاسم جوي: -

إليك كيفية استخدامه: -

const Joi = require('joi');

function validateUser(user) {
  const schema = {
    name: Joi.string().min(3).required(),
    id: Joi.number().integer(),
    age: Joi.number.integer().min(18) // Incase you want only 18+ age users
  };

  return Joi.validate(user, schema);
}

عند انتهاء الاستهلاك: -

const { error } = validateUser(req.body);

ملاحظة: - لدى Joi خاصيتين "خطأ وقيمة" وواحد فقط لهما قيمة. لذلك إذا أرسل شخص ما كائنًا صالحًا ، فستحصل على خاصية قيمة وإلا سيتم ملء الخطأ. وبالتالي ، أثناء الاستهلاك ، أضفت خطأ للتأكد من معالجة أخطائي بشكل صحيح.

:مؤلف
0

required:true مطلوب فقط لتلك المجالات التي هي mandatory للإضافة إلى المستند الخاص بك ، هذا أثناء القيام به POST طلب.

في حالتك ، لست بحاجة إلى الإضافة required:true إلى عن على id حقل أو أي حقل آخر لم تقم بتعيينه إلزاميًا للحصول على المستند.

مثال: إذا كنت تستخدم النمس

var UserSchema = new Schema({
        name: {type:String, required: true},
        username: { type: String },//not mandatory, so removed required. 
        age: { type: String, required: true }
});
:مؤلف
0

لا تحتاج إلى القيام به required:true لحقل المعرف في المخطط. لذا ، بالنسبة لطلب POST ، ستعمل بشكل جيد. ثم لطلبات GET / PUT / DELETE فقط تحقق من وجود حقل المعرف حيث يمكنك باستثناء (على سبيل المثال في طلب الاستعلام / النص / المعلمات) ثم التحقق من صحة هذا المعرف والقيام بأعمال أخرى.

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام