Bassel Jhr نشر 30 أغسطس 2021 أرسل تقرير نشر 30 أغسطس 2021 لدي موقع ويب مبني باستخدام إطار العمل express.js ويتطلب التسجيل وتسجيل الدخول للمستخدمين. وأرغب بإضافة خاصية عندما يحاول المستخدم التسجيل ببريد الكتروني موجود مسبقاً إظهار رسالة خطأ بشكل مباشر لقد قمت بإضافة التالي: <% if (message.length > 0) { %> <div class="alert alert-danger"><%= message %></div> <% } %> ثم في مسار التوجيه قمت بإضافة التالي للتأكد من عملها: router.get('/register', function(req, res) { res.render('/register', { message: req.flash('register message here') }); }); ثم وضعت الإعدادات التالية: app.configure(function() { app.use(express.session({ secret : 'topsecrethere' })); }); ولكن لم تعمل معي الآلية السابقة. كيف يمكنني تطبيقها بشكل صحيح؟ 2 اقتباس
1 Hassan Hedr نشر 30 أغسطس 2021 أرسل تقرير نشر 30 أغسطس 2021 يجب إعداد التطبيق لاضافة ميزة الرسائل flash اذا كنت تستخدم الحزمة "connect-flash" قم بتغيير الاعدادات للتالي var flash = require('connect-flash'); app.configure(function() { app.use(express.session({ secret : 'topsecrethere' })); app.use(flash()); }); وتأكد من تعيين الرسالة بشكل صحيح كما التالي req.flash('message', 'Email already exists.'); والحصول على الرسالة يكون بالشكل التالي router.get('/register', function(req, res) { res.render('/register', { message: req.flash('message') }); }); لكن رسائل ال flash تستخدم لارفاق رسائل لمرة واحدة عند تحويل المستخدم من مسار لاخر، اذا كنت تريد اظهار الرسالة مباشرة ضمن نفس المسار مرر رسالتك مباشرة كالتالي router.get('/register', function(req, res) { res.render('/register', { message: 'Email already exists.' }); }); اقتباس
1 Ali Haidar Ahmad نشر 30 أغسطس 2021 أرسل تقرير نشر 30 أغسطس 2021 لإظهار رسالة flash ، يجب عليك تثبيت وحدة flash في مشروعك باستخدام cmd: npm install express-session --save npm install cookie-parser --save npm install connect-flash --save الآن عليك إضافة بعض التعليمات البرمجية إلى ملف app.js للوصول إلى هذه الوحدات: var session = require('express-session'); var cookieParser = require('cookie-parser'); var flash = require('connect-flash'); var app = express(); app.use(cookieParser('secret')); app.use(session({cookie: { maxAge: 60000 }})); app.use(flash()); \\flash الآن إنشاء رسالة req.flash('success', 'Registration successfully'); res.locals.message = req.flash(); \\ لعرضها <% if(locals.message){ %> <div class="alert alert-success" role="alert"> <strong>Well done!</strong> <%=message.success%> </div> <% } %> اقتباس
السؤال
Bassel Jhr
لدي موقع ويب مبني باستخدام إطار العمل express.js ويتطلب التسجيل وتسجيل الدخول للمستخدمين. وأرغب بإضافة خاصية عندما يحاول المستخدم التسجيل ببريد الكتروني موجود مسبقاً إظهار رسالة خطأ بشكل مباشر
لقد قمت بإضافة التالي:
ثم في مسار التوجيه قمت بإضافة التالي للتأكد من عملها:
router.get('/register', function(req, res) { res.render('/register', { message: req.flash('register message here') }); });
ثم وضعت الإعدادات التالية:
app.configure(function() { app.use(express.session({ secret : 'topsecrethere' })); });
ولكن لم تعمل معي الآلية السابقة. كيف يمكنني تطبيقها بشكل صحيح؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.