Zezwalaj na puste ciągi dla pól oznaczonych PhoneAttribute lub UrlAttribute

Używam frameworka CodeFirst Entitty 5. Mam klasę reprezentującą użytkownika.

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; }
}

Lubię mechanikę walidacji dlaPhone iUrl wiele atrybutów, ale niestety sprawdzanie poprawności kończy się niepowodzeniem, gdy pola oznaczone tymi atrybutami są pustymi ciągami, na które chcę zezwolić.[Required(AllowEmptyStrings = true)] nie działaPhone lubUrl atrybuty. To samo dotyczy niektórych innych atrybutów DataAnnotation, takich jakEmailAddress.

Czy istnieje sposób na dopuszczenie pustych ciągów znaków dla pól oznaczonych takimi atrybutami?

questionAnswers(2)

yourAnswerToTheQuestion