public User(string username, string firstName, string lastName, string password, string role) { CustomValidator.ValidateSymbols(username, Constants.UsernamePattern, Constants.InvalidSymbols); CustomValidator.ValidateStringRange(username, Constants.MinNameLength, Constants.MaxNameLength, Constants.StringMustBeBetweenMinAndMax); CustomValidator.ValidateSymbols(password, Constants.PasswordPattern, Constants.InvalidSymbols); CustomValidator.ValidateStringRange(password, Constants.MinPasswordLength, Constants.MaxPasswordLength, Constants.StringMustBeBetweenMinAndMax); //All readonly validation up ! <-- //NO Validation for FirstName and LastName constants available but REQUIRED ?! CustomValidator.ValidateStringRange(firstName, Constants.MinNameLength, Constants.MaxNameLength, Constants.StringMustBeBetweenMinAndMax); CustomValidator.ValidateStringRange(lastName, Constants.MinNameLength, Constants.MaxNameLength, Constants.StringMustBeBetweenMinAndMax); //TODO: NO DIRECT Validation for Role this.Username = username; this.FirstName = firstName; this.LastName = lastName; this.Password = password; this.Role = (Role)Enum.Parse(typeof(Role), role); }