public static ErrMsg CheckField( FieldName fieldName, string fieldContent) // Optioneel veld { ErrMsg errMsg = null; switch (fieldName) { case FieldName.FirstName: errMsg = CheckNormalString(fieldContent); break; case FieldName.LastName: errMsg = CheckNormalString(fieldContent); break; case FieldName.IsInsured: errMsg = CheckListOfStrings(fieldContent, "J", "N"); // params break; case FieldName.Zodiac: // Controleer of het sterrenbeeld in de enum-lijst zit: errMsg = CheckEnumValues <AstrologyZodiacSign>(fieldContent); // params break; //case FieldName.Zodiac: // errMsg = CheckZodiac(fieldContent); // params // break; default: break; } return(errMsg); }
private static ErrMsg CheckEnumValues <T>(string fieldContent) where T : Enum { var errMsg = new ErrMsg(); var match = Enum.IsDefined(typeof(T), fieldContent.Trim()); if (match) { errMsg.ErrorId = "00"; } else { errMsg.ErrorId = "03"; errMsg.ErrorMessage = $"String \"{fieldContent}\" niet in toegestane lijst"; } return(errMsg); }
private static ErrMsg CheckNormalString(string fieldContent) { var pattern = "^[A-Z][A-Za-z0-9-_ ]{0,100}$"; Regex regex = new Regex(pattern); bool match = regex.IsMatch(fieldContent); var errMsg = new ErrMsg(); if (match) { errMsg.ErrorId = "00"; } else { errMsg.ErrorId = "02"; errMsg.ErrorMessage = "Naam begint met hoofdletter en bevat alleen letters, cijfers, spaties, strepen en underscores"; } return(errMsg); }
private static ErrMsg CheckListOfStrings(string fieldContent, params string[] parmList) { var errMsg = new ErrMsg(); if (parmList.Contains(fieldContent)) { errMsg.ErrorId = "00"; } else { errMsg.ErrorId = "01"; errMsg.ErrorMessage = $"String \"{fieldContent}\"is not in the following list:"; foreach (var item in parmList) { errMsg.ErrorMessage += " " + item.ToString(); } } return(errMsg); }