/// <summary> /// Build validation for datetime properties. /// This inclues checking for null and length of the string. /// </summary> /// <param name="model"></param> /// <param name="prop"></param> /// <param name="buffer"></param> public void BuildValidationForDateTimeProperty(Model model, PropInfo prop, StringBuilder buffer) { PropStringVals vals = new PropStringVals(model, prop) { MethodName = "IsDateWithinRange" }; string validationCode = "Validation.{0}({1}, {2}, {3}, {4}, {5}, {6}, {7} );" + Environment.NewLine; string codeLine = string.Format(validationCode, vals.MethodName, vals.PropName, vals.CheckMinLength, vals.CheckMaxLength, vals.Min, vals.Max, "results", '"' + prop.Name + '"'); buffer.Append(GetIndent() + codeLine); }
/// <summary> /// Build validation for int properties. /// This inclues checking for null and length of the string. /// </summary> /// <param name="model"></param> /// <param name="prop"></param> /// <param name="buffer"></param> public void BuildValidationForStringRegExProperty(Model model, PropInfo prop, StringBuilder buffer) { PropStringVals vals = new PropStringVals(model, prop) { AllowNull = "false", MethodName = "IsStringRegExMatch" }; string validationCode = "Validation.{0}({1}, {2}, {3}, {4}, {5} );" + Environment.NewLine; string regexPattern = prop.IsRegExConst ? prop.RegEx : "@\"" + prop.RegEx + "\""; string codeLine = string.Format(validationCode, vals.MethodName, vals.PropName, vals.AllowNull, regexPattern, "results", '"' + prop.Name + '"'); buffer.Append(GetIndent() + codeLine); }