title: scala play json custom validation oneOf
body: <p>How to validate json where-in one of 2 keys is mandatory.</p>
  
  <p>Ex1: valid Json</p>
  
  <pre><code>{
      "userName": "MyName",
      "userId": 123
  }
  </code></pre>
  
  <p>Ex2: valid Json</p>
  
  <pre><code>{
      "userName": "MyName"
  }
  </code></pre>
  
  <p>Ex3: valid Json</p>
  
  <pre><code>{
      "userId": 123
  }
  </code></pre>
  
  <p>Ex4: InValid Json - Missing both UserName and userId</p>
  
  <pre><code>{
      "email": "email@email.com"
  }
  </code></pre>
  
  <p>My case class is below</p>
  
  <pre><code>case class FindUser(userName: Option[String], userId: Option[Int]
  object FindUser {
    implicit val findUserReads = Json.reads[FindUser]
  }
  </code></pre>
  
  <p>Controller:</p>
  
  <pre><code>request.body.validate[FindUser]
  </code></pre>