schnittstabil/csrf-twig-helpers

View on GitHub
examples/slim-stp/templates/index.html.twig

Summary

Maintainability
Test Coverage
{% extends "layout.html.twig" %}

{% block scripts %}
  <script>
    function revealInput(name) {
      var inputs = document.getElementsByName(name);

      for(var i = 0; i < inputs.length; i++) {
        inputs[i].type = 'text';
        inputs[i].className = 'form-control';
      }
    };
  </script>
{% endblock %}

{% block title %}Contact Us!{% endblock %}

{% block body %}
  <form role="form" method="post" action="{{ path_for('contact') }}">

    <div class="form-group">
      <label for="email">Email address</label>
      <input type="email" class="form-control" id="email" name="email" placeholder="Your Email" required>
    </div>

    <div class="form-group">
      <label for="message">Message</label>
      <textarea class="form-control" rows="8" name="message" placeholder="Your Messageā€¦"></textarea>
    </div>

    <div class="form-group" >
      <label>CSRF-Token</label>
      {{ csrf_input_widget() }}
    </div>

    <button type="submit" class="btn btn-primary">Send!</button>
    <button type="button" class="btn btn-danger" onclick="revealInput('{{ csrf_token_name() }}');">Reveal CSRF-Token</button>

  </form>
{% endblock %}