Example #1
0
        /// <summary>
        /// Cria uma nova instância do contrato
        /// </summary>
        /// <param name="name">Dados do nome completo</param>
        /// <param name="charListAllowed">Lista de caracteres permitidos para o nome</param>
        public NomeCompletoContract(INomeCompleto name, string charListAllowed)
        {
            // Regular expression for all characteres name (global)
            // ^[a-zA-ZàáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,.'-]+$

            Contract
            .Requires()
            .IsNotNullOrEmpty(name.PrimeiroNome, "Primeiro Nome", "O primeiro nome deve ser informado")
            .HasMinLen(name.PrimeiroNome ?? string.Empty, 2, "Nome", "O nome deve conter no mínimo 2 caracteres")
            .HasMaxLen(name.PrimeiroNome ?? string.Empty, 50, "Nome", "O nome deve conter no máximo 50 caracteres")
            .Matchs(name.PrimeiroNome, $"^[a-zA-Z{charListAllowed} ,.'-]+$", "Nome", "o nome contém caracteres inválidos")
            .IsNotNullOrEmpty(name.Sobrenome, "Sobrenome", "O sobrenome deve ser informado")
            .HasMinLen(name.Sobrenome ?? string.Empty, 2, "Sobrenome", "O sobrenome deve conter no mínimo 2 caracteres")
            .HasMaxLen(name.Sobrenome ?? string.Empty, 100, "Sobrenome", "O sobrenome deve conter no máximo 100 caracteres")
            .Matchs(name.PrimeiroNome, $"^[a-zA-Z{charListAllowed} ,.'-]+$", "Sobrenome", "O sobrenome contém caracteres inválidos")
            ;
        }
Example #2
0
 /// <summary>
 /// Cria uma nova instância do contrato
 /// </summary>
 /// <param name="name">Dados do nome completo</param>
 public NomeCompletoContract(INomeCompleto name) : this(name, string.Empty)
 {
 }