public void Validate(ProtocolField field, NameValueCollection errorMessages, string value, bool required) { if (field.DataType().Type() != null) { if (!Enum.IsDefined(field.DataType().Type(), value)) { errorMessages.Add(field.CanonicalName(), field.DataType().Type().ToString()); } } else { var r = new Regex(field.DataType().ApiRegex().Pattern()); if (!r.IsMatch(value)) { errorMessages.Add(field.CanonicalName(), field.DataType().ApiRegex().Pattern()); } } }
public static string CanonicalName(this ProtocolField p) { return(((ProtocolFieldAttr)Attribute.GetCustomAttribute(ForValue(p), typeof(ProtocolFieldAttr))).CanonicalName); }
private static MemberInfo ForValue(ProtocolField p) { return(typeof(ProtocolField).GetField(Enum.GetName(typeof(ProtocolField), p))); }
public static ProtocolType DataType(this ProtocolField p) { return(((ProtocolFieldAttr)Attribute.GetCustomAttribute(ForValue(p), typeof(ProtocolFieldAttr))).DataType); }