title: Loopback validation on Properties whose types are other Models
body: <p>I have two Models defined; Location and Address, defined as follows:</p>
  
  <pre><code>"address": {
      "properties": {
          "address1": {
              "type": "string",
              "required": true
          }
      },
      "public": true,
      "dataSource": "db",
      "plural": "addresses"
  },  
  "location": {
      "properties": {
          "title": {
              "type": "string"
          },
          "address":{
              "type": "address",
              "required": true
          }
      },
      "public": true,
      "dataSource": "db",
      "plural": "locations"
  }
  </code></pre>
  
  <p>When I Create an object based on the <em>address</em> Model via the API Explorer, the <em>required</em> constraint on <em>address1</em> behaves as expected and I must supply a value to create the object.</p>
  
  <p>When I Create an object based on the <em>location</em> Model via the API Explorer, the <em>required</em> constraint on the <em>address</em> works as expected, but the <em>required</em> constraint on the <em>address1</em> of the <em>address</em> Model does not.  I am able to create an address without an address1, which is not what I would expect.</p>
  
  <p>Am I doing something wrong or is validation only performed on the root object?</p>
  
  <p>I am using a memory datasource, node v0.10.24 and loopback v1.8.6.</p>