public static bool TryParse(string value, out ValidPassword password, out IReadOnlyCollection <string> errorMessages) { var errorMessageList = new List <string>(); errorMessages = errorMessageList; if (IsEmpty(value)) { // TryParse should never fail, so report null as an error instead of ArgumentNullException. errorMessageList.Add("Value required"); } else if (value.Length < MinLength || value.Length > MaxLength) { errorMessageList.Add(string.Format("Length must be from {0} to {1} characters", MinLength, MaxLength)); } if (errorMessageList.Count > 0) { password = null; return(false); } password = new ValidPassword(value); return(true); }
public static bool TryParse(string value, out ValidPassword password) { IReadOnlyCollection <string> errorMessages; return(TryParse(value, out password, out errorMessages)); }