示例#1
0
 public CompareValidator(string prop_name, TProp to_compare, Func <TProp, TProp, int> comparer, CompareValidationType cvt, CompareValidationStrictType cvst, Func <TProp, string> to_str = null)
 {
     Error           = new CompareError <TProp>(prop_name, to_compare, cvt, cvst, to_str);
     AtError         = ActionAtError.Continue;
     this.comparer   = comparer;
     this.to_compare = to_compare;
     this.cvt        = cvt;
     this.cvst       = cvst;
 }
示例#2
0
        public CompareError(string prop_name, TProp value, CompareValidationType cvt, CompareValidationStrictType cvst, Func <TProp, string> to_str = null)
            : base(prop_name, "")
        {
            string cv = "";

            switch (cvt)
            {
            case CompareValidationType.Less:
                cv = "less";
                break;

            case CompareValidationType.Greater:
                cv = "greater";
                break;
            }

            string cvs = "";

            switch (cvst)
            {
            case CompareValidationStrictType.Mild:
                cvs = " or equal";
                break;

            case CompareValidationStrictType.Strict:
                cvs = "";
                break;
            }

            ErrorMessage = string
                           .Format(
                "'{0}' must be {1}{2} then '{3}'",
                prop_name,
                cv, cvs,
                to_str is null ? value.ToString() : to_str(value));
        }