Beispiel #1
0
        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());
                }
            }
        }
Beispiel #2
0
 public static string CanonicalName(this ProtocolField p)
 {
     return(((ProtocolFieldAttr)Attribute.GetCustomAttribute(ForValue(p), typeof(ProtocolFieldAttr))).CanonicalName);
 }
Beispiel #3
0
 private static MemberInfo ForValue(ProtocolField p)
 {
     return(typeof(ProtocolField).GetField(Enum.GetName(typeof(ProtocolField), p)));
 }
Beispiel #4
0
 public static ProtocolType DataType(this ProtocolField p)
 {
     return(((ProtocolFieldAttr)Attribute.GetCustomAttribute(ForValue(p), typeof(ProtocolFieldAttr))).DataType);
 }