Определите тип данных, когда express -fla sh () дает Toastr - PullRequest
0 голосов
/ 20 марта 2020

Я хочу сделать Toastr fla sh сообщение для меня, когда у него есть информация об ошибке-успеха от fla sh (), чтобы дать пользователю знать об ошибке ввода или при успешном добавлении новых данных
и вместо записи сообщения в каждом файле я хочу написать в макете
, но я не совсем уверен, как правильно написать тип данных div, чтобы e js знал, когда он имеет тип данных или нет
, поэтому мне нужны некоторые советы, спасибо
это мой Layout.e js.

  <div style="display: none;" id="toast-message" data-type="info | success | error">
    <%= messages.(info | success | error) %> 
  </div>

 <script>
      $(document).ready(function() {
        console.log('....start toast....')

        const type = $('#toast-message').data('type')
        const message = $('#toast-message').text()
        console.log('data ', type, message)

        if (type != '' && message != '') {
          console.log('show toast...')
          toastr[type](message);
        }
      })
    </script>

Например, пример ошибки с


<div style="display: none;" id="toast-message" data-type="error">
    Error
</div>

My example for error case

1 Ответ

0 голосов
/ 20 марта 2020

я обнаружил, что решение проблемы не оптимизировано
для сайта сервера, когда req.fla sh () возвращает 'success' или 'error'

if (req.body.name.length > 0 && req.body.password.length > 8) {
      req.flash('success', 'Add New Successful');
      const rs = await user.save();
      if (rs) {
        res.redirect('/member/list');
      }
    } else {
      req.flash('error', 'Name is required and Password must greater than 8 characters');
      res.redirect('/member/new');
    }

и для Layout.e js

 <!-- toast message -->
  <%   let x,y=""
    if(messages.success){
    y = "success"
    x = messages.success
   } else if(messages.info){
     y ="info"
     x = messages.info
   } else if (messages.error){
     y = "error"
     x = messages.error
   } %>

  <div style="display: none;" id="toast-message" data-type="<%=y%>">
    <%=x%>
  </div>
  <!-- end toast-->
...