title: Play Framework - Form not Binding to Nested Tuples
body: <p>I have created a Form to bind to the datatables request:</p>
  
  <pre><code>val datatableForm = Form(
    tuple(
      "draw" -&gt; number,
      "start" -&gt; number,
      "length" -&gt; number,
      "search" -&gt; tuple(
          "value" -&gt; text,
          "regex" -&gt; boolean
      ),
      "columns" -&gt; seq(tuple(
          "data" -&gt; number,
          "name" -&gt; text,
          "orderable" -&gt; boolean,
          "search" -&gt; tuple(
              "value" -&gt; text,
              "regex" -&gt; boolean
          )
        )
      ),
      "order" -&gt; seq(tuple(
          "column" -&gt; number,
          "dir" -&gt; text
        )
      )
    )
  )
  </code></pre>
  
  <p>In my request I call <code>val form = datatableForm.bindFromRequest</code>. This works great for the <code>draw</code>, <code>start</code>, and <code>length</code> variables, but it fails for the <code>search</code>, <code>columns</code>, and <code>order</code> variables. For example, when I do not use nested tuples I can call <code>datatableForm.bindFromRequest.get</code> and it will return a <code>Some</code> object, but when I add the nested tuples and call <code>get</code>, it returns a <code>None</code> object.</p>
  
  <p>The data that is sent from the datatables javascript object is:</p>
  
  <pre><code>{
    "draw": 1,
    "columns": [
      {
        "data": 0,
        "name": "",
        "searchable": true,
        "orderable": true,
        "search": {
          "value": "",
          "regex": false
        }
      },
      {
        "data": 1,
        "name": "",
        "searchable": true,
        "orderable": true,
        "search": {
          "value": "",
          "regex": false
        }
      }
    ],
    "order": [
      {
        "column": 0,
        "dir": "asc"
      }
    ],
    "start": 0,
    "length": 10,
    "search": {
      "value": "",
      "regex": false
    }
  }
  </code></pre>
  
  <p>This is the data in the body of the request:</p>
  
  <pre><code>Map(draw -&gt; ArrayBuffer(1), columns[0][data] -&gt; ArrayBuffer(0), columns[0][name] -&gt; ArrayBuffer(), columns[0][searchable] -&gt; ArrayBuffer(true), columns[0][orderable] -&gt; ArrayBuffer(true), columns[0][search][value] -&gt; ArrayBuffer(), columns[0][search][regex] -&gt; ArrayBuffer(false), columns[1][data] -&gt; ArrayBuffer(1), columns[1][name] -&gt; ArrayBuffer(), columns[1][searchable] -&gt; ArrayBuffer(true), columns[1][orderable] -&gt; ArrayBuffer(true), columns[1][search][value] -&gt; ArrayBuffer(), columns[1][search][regex] -&gt; ArrayBuffer(false), order[0][column] -&gt; ArrayBuffer(0), order[0][dir] -&gt; ArrayBuffer(asc), start -&gt; ArrayBuffer(0), length -&gt; ArrayBuffer(10), search[value] -&gt; ArrayBuffer(), search[regex] -&gt; ArrayBuffer(false))
  </code></pre>
  
  <p>How do I get the Form to bind to the nested tuples?</p>