title: Allow empty strings for fields marked with PhoneAttribute or UrlAttribute
body: <p>I'm using CodeFirst Entitty framework 5. I have a class representing a user.</p>
  
  <pre><code>public class User
  {
      [Key]
      public int UserId { get; set; }
  
      [Url]
      [DataType(DataType.Url)]
      [Required(AllowEmptyStrings= true)]
      public string WebSite { get; set; }
  
      [Phone]
      [DataType(DataType.PhoneNumber)]
      [Required(AllowEmptyStrings = true)]
      public string Phone { get; set; }
  
      [Phone]
      [DataType(DataType.PhoneNumber)]
      [Required(AllowEmptyStrings = true)]
      public string Fax { get; set; }
  }
  </code></pre>
  
  <p>I like the validation mechanics for <code>Phone</code> and <code>Url</code> attributes a lot, but unfortunately validation fails when fields marked with these attributes are empty strings which I actually want to allow. <code>[Required(AllowEmptyStrings = true)]</code> doesn't seem to work with <code>Phone</code> or <code>Url</code> attributes. The same seems to apply to some other DataAnnotations attributes like <code>EmailAddress</code>.</p>
  
  <p>Is there a way to allow empty strings for fields marked with such attributes? </p>