title: The correct way to validate JSON property
body: <p>What is the correct way to use advance property validation when deserializing JSON to Model? I am providing the <code>MyClass</code> as an example. I need to validate Name(<code>required</code>) and Email(<code>e-mail address validation</code>). I do find only <code>[JsonProperty(Required = Required.Always)]</code> to validate the required properties and nothing for e-mail validation. Unfortunately, Data Annotation validators can't be used from MVC for validation.  </p>
  
  <p>One idea which comes to my mind is to create custom <code>ContractResolver</code> and attach to deserializer where I could perform custom validation. Any other methods to consider?</p>
  
  <pre><code>public class MyClass
  {
     [JsonProperty(Required = Required.Always)]
     public string Name { get; set; }
     public string Email { get; set; }
  }
  
  _dto = JsonConvert.DeserializeObject&lt;MyClass&gt;(content);
  </code></pre>