public override void WriteChecks(CsCodeWriter code) { if (_rule.MinValue != null) { using (code.WriteBlock("if (value.CompareTo({0}) < 0)", code.MakeConstant(_field.FieldType, _rule.MinValue))) { code.WriteLine( "if (onError != null) onError(new {0}NClassify.Library.ValidationError(TypeFields.{2}, " + "{0}NClassify.Library.ResourceMessages.MustBeGreaterThan, TypeFields.{2}, {1}));", CsCodeWriter.Global, code.MakeConstant(_field.FieldType, _rule.MinValue), _field.PropertyName); code.WriteLine("return false;"); } } if (_rule.MaxValue != null) { using (code.WriteBlock("if (value.CompareTo({0}) < 0)", code.MakeConstant(_field.FieldType, _rule.MaxValue))) { code.WriteLine( "if (onError != null) onError(new {0}NClassify.Library.ValidationError(TypeFields.{2}, " + "{0}NClassify.Library.ResourceMessages.MustBeLessThan, TypeFields.{2}, {1}));", CsCodeWriter.Global, code.MakeConstant(_field.FieldType, _rule.MaxValue), _field.PropertyName); code.WriteLine("return false;"); } } }
public override void WriteChecks(CsCodeWriter code) { using (code.WriteBlock("if (!__valid_{0}.IsMatch(value.ToString()))", _field.CamelName)) { code.WriteLine( "if (onError != null) onError(new {0}NClassify.Library.ValidationError(TypeFields.{2}, " + "{0}NClassify.Library.ResourceMessages.MustMatchFormat, TypeFields.{2}, {1}));", CsCodeWriter.Global, code.MakeConstant(FieldType.String, _rule.Pattern), _field.PropertyName); code.WriteLine("return false;"); } }
public override void DeclareStaticData(CsCodeWriter code) { code.Write("private static readonly {0}[] __in_{1} = new {0}[] {{", _field.GetStorageType(code), _field.CamelName); int ix = 0; string[] list = (string[]) _rule.Values.Clone(); Array.Sort(list); foreach (string possible in _rule.Values) { if (ix++ > 0) code.Write(", "); code.Write(code.MakeConstant(_field.FieldType, possible)); } code.WriteLine("};"); }
public override void DeclareStaticData(CsCodeWriter code) { code.WriteLine("private static readonly " + CsCodeWriter.Global + "System.Text.RegularExpressions.Regex __valid_{0} = " + "new " + CsCodeWriter.Global + "System.Text.RegularExpressions.Regex({1}, {2});", _field.CamelName, code.MakeConstant(FieldType.String, _rule.Pattern), (_rule.Multiline ? CsCodeWriter.Global + "System.Text.RegularExpressions.RegexOptions.Multiline" : CsCodeWriter.Global + "System.Text.RegularExpressions.RegexOptions.Singleline") + (_rule.IgnoreCase ? " | " + CsCodeWriter.Global + "System.Text.RegularExpressions.RegexOptions.IgnoreCase" : "") ); }
public override string MakeConstant(CsCodeWriter code, string value) { return String.Format("new {0}({1})", GetPublicType(code), code.MakeConstant(FieldType, value)); }