diff Source/Templates/ValidationAttributes.ttinclude @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/Templates/ValidationAttributes.ttinclude	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,32 @@
+<#
+	{
+		var validationPrevBeforeGenerateModel = BeforeGenerateModel;
+
+		BeforeGenerateModel = tt =>
+		{
+			validationPrevBeforeGenerateModel(tt);
+
+			Usings.Add("BLToolkit.Validation");
+
+			foreach (var t in Tables.Values)
+			{
+				var maxLength = t.Columns.Values
+					.Where (x => x.Type == "string")
+					.Select(x => x.Length)
+					.OrderByDescending(x => x)
+					.FirstOrDefault()
+					// Get exponent slowly
+					.ToString().Length;
+
+				foreach (var c in t.Columns.Values)
+				{
+					if (c.Type == "string" && c.Length > 0)
+						c.Attributes.Add(string.Format("MaxLength({0," + maxLength + "})", c.Length));
+
+					if (!c.IsNullable)
+						c.Attributes.Add("Required");
+				}
+			}
+		};
+	}
+#>
\ No newline at end of file