2013-09-26 2 views
1

Я добавил маршрут в свой файл docpad.coffee для обработки представлений форм, которые я проверяю с помощью express-validator middleware. Теперь, в зависимости от проверки, я хочу перенаправить пользователей на одну и ту же страницу контактов, но показывая успешное сообщение, когда проверка прошла успешно (здесь я пришлю письмо) или покажу сообщения об ошибках.Docpad: показать сообщение об ошибке/успехе в контактной форме

Мне не удалось передать сообщение проверки в шаблон для его отображения. Я пробовал почти все комбинации dynamic: true/false, res.locals = validationMessages, res.sessions = validationMessages, res.templateData = validationMessages без успеха.

Кроме того, добавив dynamic: true, изменения в содержимом вообще не отображаются, независимо от используемой стратегии обновления (частный режим, очистка кеша, перезапуск Docpad, обновление без кеша и т. Д.). Вероятно, я должен сообщить об ошибке.

Как сделать заказ?

Я использую DocPad 6.53.0 (последняя на сегодняшний день), узел 0.10.15, на OS X 10.8.4

ответ

2

Я изменял этот бит путем добавления хэш URL перенаправления (например, : «www.mywebsite.com/#messagesent»). Затем я использую javascript на стороне клиента, чтобы прочитать хэш, а затем показать соответствующее сообщение. Что-то вроде этого:

if (location.hash == "#messagesent") { 
    $('#message-sent').show(); 
    setTimeout(function() { 
     $('#message-sent').fadeOut(1000); 
    }, 1000); 
} 

Не совсем то, что вы спрашивали, хотя :)

+0

Обходной, но не работает с JavaScript отключен. Я все равно попытаюсь, если мне не удастся сделать это на стороне сервера. – DjebbZ

+0

Я думаю, что вы должны иметь возможность делать то же самое на стороне сервера, то есть смотреть на хэш URL-запроса. –

Смежные вопросы