<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : Localizing Verification Error Messages</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2010 : Localizing Verification Error Messages</description>
  <pubDate>Tue, 21 Apr 2026 15:51:10 -700</pubDate>
  <lastBuildDate>Tue, 13 Jul 2010 17:56:42 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=1964</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>Localizing Verification Error Messages : We&amp;#039;ll be doing a more formal...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=1964&amp;PID=7617#7617</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=477" rel="nofollow">ting</a><br /><strong>Subject:</strong> 1964<br /><strong>Posted:</strong> 13-Jul-2010 at 5:56pm<br /><br />We'll be doing a more formal writeup of this, but here are some notes to get anyone who is interested in this started:<DIV>&nbsp;</DIV><DIV>Every verifier has a ErrorMessageInfo property which in turn has a ResourceName property.&nbsp; This name is automatically generated (and set) during code gen for attribute based verifiers.&nbsp; For example, note the ‘autogenerated’ ErrorMessageResourceNames below. </DIV><DIV>&nbsp;</DIV><DIV><SPAN style="FONT-SIZE: 9pt">&#091;IbVal.<SPAN style="COLOR: #2b91af">StringLengthVerifier</SPAN>(MaxValue=15,&nbsp;IsRequired=<SPAN style="COLOR: blue">false</SPAN>,&nbsp;ErrorMessageResourceName=<SPAN style="COLOR: #a31515">"Employee_Country"</SPAN>)&#093;</SPAN><SPAN style="COLOR: blue; FONT-SIZE: 9pt"></SPAN></DIV><DIV><SPAN style="COLOR: blue; FONT-SIZE: 9pt">public</SPAN><SPAN style="FONT-SIZE: 9pt">&nbsp;<SPAN style="COLOR: blue">string</SPAN>&nbsp;Country&nbsp;{ … }</SPAN></DIV><DIV><SPAN style="FONT-SIZE: 9pt"></SPAN>&nbsp;</DIV><DIV><SPAN style="FONT-SIZE: 9pt"></SPAN><SPAN style="FONT-SIZE: 9pt">&#091;IbVal.<SPAN style="COLOR: #2b91af">RequiredValueVerifier</SPAN>(ErrorMessageResourceName=<SPAN style="COLOR: #a31515">"OrderDetail_Quantity"</SPAN>)&#093;</SPAN></DIV><DIV><SPAN style="FONT-SIZE: 9pt"></SPAN><SPAN style="COLOR: blue; FONT-SIZE: 9pt">public</SPAN><SPAN style="FONT-SIZE: 9pt">&nbsp;<SPAN style="COLOR: blue">short</SPAN>&nbsp;Quantity&nbsp;{ … }</SPAN></DIV><DIV><SPAN style="FONT-SIZE: 9pt"><?: prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN>&nbsp;</DIV><DIV>The resource name can also be set programmatically for any verifier defined in code.</DIV><DIV>&nbsp;</DIV><DIV>The VerifierEngine has an ‘ErrorResourceManager’ property that can assigned to with a statement like the following<BR></DIV><DIV><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt">_verifierEngine.ErrorsResourceManager&nbsp;=&nbsp;<SPAN style="COLOR: #2b91af">MyErrorMessages</SPAN>.ResourceManager</SPAN><SPAN style="FONT-FAMILY: 'Arial','sans-serif'"><FONT size=3>;<o:p></o:p></FONT></SPAN></P></DIV><DIV>&nbsp;</DIV><DIV>where ‘MyErrorMessages’ is the name of the strongly typed ‘designer.cs’ class generated by the .NET ResX editor.&nbsp; The VerifierEngine will look up each verifiers ‘ResourceName’ in the registered ErrorsResourceManager in order to generate validation error descriptions. </DIV><DIV>&nbsp;</DIV><DIV>Regarding localization of these messages, please see Microsoft’s documentation for more information on this topic.</DIV><DIV>&nbsp;</DIV><DIV>The VerifierEngine has a fallback ResourceManager it uses for system default error messages.&nbsp; These resource names may be overridden in the programmatically specified ResourceManager.&nbsp; The fallback manager ResX is&nbsp;listed at the bottom of this post.</DIV><DIV>&nbsp;</DIV><DIV>Most error messages contain substitution parameters.&nbsp; The meaning and order of these substitution parameters is defined by the type of verifier involved.&nbsp; For example: <BR></DIV><DIV><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt">{0} is required <o:p></o:p></SPAN></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt">{0} must be between {1} and {2} character(s)<o:p></o:p></SPAN></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt"><o:p>&nbsp;</o:p></SPAN></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 9pt">By simply including {0} {1} and {2} in any message, you can easily determine what parameters are used for that verifier.<o:p></o:p></SPAN></P></DIV><DIV>&nbsp;</DIV><DIV>-----</DIV><DIV>&nbsp;</DIV><DIV>&lt;?xml version="1.0" encoding="utf-8"?&gt;<BR>&lt;root&gt;<BR>&nbsp; &lt;!-- <BR>&nbsp;&nbsp;&nbsp; Microsoft ResX Schema <BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Version 2.0<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; The primary goals of this format is to allow a simple XML format <BR>&nbsp;&nbsp;&nbsp; that is mostly human readable. The generation and parsing of the <BR>&nbsp;&nbsp;&nbsp; various data types are done through the TypeConverter classes <BR>&nbsp;&nbsp;&nbsp; associated with the data types.<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Example:<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; ... ado.net/XML headers &amp; schema ...<BR>&nbsp;&nbsp;&nbsp; &lt;resheader name="resmimetype"&gt;text/microsoft-resx&lt;/resheader&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;resheader name="version"&gt;2.0&lt;/resheader&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;resheader name="reader"&gt;System.Resources.ResXResourceReader, System.Windows.Forms, ...&lt;/resheader&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;resheader name="writer"&gt;System.Resources.ResXResourceWriter, System.Windows.Forms, ...&lt;/resheader&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;data name="Name1"&gt;&lt;value&gt;this is my long string&lt;/value&gt;&lt;comment&gt;this is a comment&lt;/comment&gt;&lt;/data&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;data name="Color1" type="System.Drawing.Color, System.Drawing"&gt;Blue&lt;/data&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;&#091;base64 mime encoded serialized .NET Framework object&#093;&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/data&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;&#091;base64 mime encoded string representing a byte array form of the .NET Framework object&#093;&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;comment&gt;This is a comment&lt;/comment&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/data&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; There are any number of "resheader" rows that contain simple <BR>&nbsp;&nbsp;&nbsp; name/value pairs.<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Each data row contains a name, and value. The row also contains a <BR>&nbsp;&nbsp;&nbsp; type or mimetype. Type corresponds to a .NET class that support <BR>&nbsp;&nbsp;&nbsp; text/value conversion through the TypeConverter architecture. <BR>&nbsp;&nbsp;&nbsp; Classes that don't support this are serialized and stored with the <BR>&nbsp;&nbsp;&nbsp; mimetype set.<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; The mimetype is used for serialized objects, and tells the <BR>&nbsp;&nbsp;&nbsp; ResXResourceReader how to depersist the object. This is currently not <BR>&nbsp;&nbsp;&nbsp; extensible. For a given mimetype the value must be set accordingly:<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; Note - application/x-microsoft.net.object.binary.base64 is the format <BR>&nbsp;&nbsp;&nbsp; that the ResXResourceWriter will generate, however the reader can <BR>&nbsp;&nbsp;&nbsp; read any of the formats listed below.<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; mimetype: application/x-microsoft.net.object.binary.base64<BR>&nbsp;&nbsp;&nbsp; value&nbsp;&nbsp; : The object must be serialized with <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : and then encoded with base64 encoding.<BR>&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; mimetype: application/x-microsoft.net.object.soap.base64<BR>&nbsp;&nbsp;&nbsp; value&nbsp;&nbsp; : The object must be serialized with <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : System.Runtime.Serialization.Formatters.Soap.SoapFormatter<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : and then encoded with base64 encoding.</DIV><DIV>&nbsp;&nbsp;&nbsp; mimetype: application/x-microsoft.net.object.bytearray.base64<BR>&nbsp;&nbsp;&nbsp; value&nbsp;&nbsp; : The object must be serialized into a byte array <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : using a System.ComponentModel.TypeConverter<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : and then encoded with base64 encoding.<BR>&nbsp;&nbsp;&nbsp; --&gt;<BR>&nbsp; &lt;xsd:schema id="root" xmlns="" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</A>" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;xsd:import namespace="<a href="http://www.w3.org/XML/1998/namespace" target="_blank">http://www.w3.org/XML/1998/namespace</A>" /&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;xsd:element name="root" msdata:IsDataSet="true"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:choice maxOccurs="unbounded"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="metadata"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="value" type="xsd:string" minOccurs="0" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="name" use="required" type="xsd:string" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="type" type="xsd:string" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="mimetype" type="xsd:string" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute ref="xml:space" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:element&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="assembly"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="alias" type="xsd:string" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="name" type="xsd:string" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:element&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="data"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute ref="xml:space" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:element&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="resheader"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:sequence&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:sequence&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:attribute name="name" type="xsd:string" use="required" /&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:element&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:choice&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/xsd:complexType&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/xsd:element&gt;<BR>&nbsp; &lt;/xsd:schema&gt;<BR>&nbsp; &lt;resheader name="resmimetype"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;text/microsoft-resx&lt;/value&gt;<BR>&nbsp; &lt;/resheader&gt;<BR>&nbsp; &lt;resheader name="version"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;2.0&lt;/value&gt;<BR>&nbsp; &lt;/resheader&gt;<BR>&nbsp; &lt;resheader name="reader"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&lt;/value&gt;<BR>&nbsp; &lt;/resheader&gt;<BR>&nbsp; &lt;resheader name="writer"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&lt;/value&gt;<BR>&nbsp; &lt;/resheader&gt;<BR>&nbsp; &lt;data name="VerifierAnd" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} and {1}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierBetween" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be between {1} and {2}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierBetweenDate" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be between {1:d} and {2:d}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierBetweenStringLength" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be between {1} and {2} character(s)&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierInList" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;Value must be among the valid choices for {0}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMaxDate" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be on or before {1:d}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMaxDateExclusive" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be before {1:d}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMaxStringLength" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} cannot be longer than {1} characters(s)&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMaxValue" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be less than or equal to {1}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMaxValueExclusive" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be less than {1}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMinDate" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be on or after {1:d}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMinDateExclusive" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be after {1:d}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMinStringLength" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} cannot be shorter than {1} character(s)&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMinValue" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be greater than or equal to {1}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierMinValueExclusive" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be greater than {1}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierNotRequired" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} is not required&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierRequired" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} is required&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierValid" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be a valid {1}&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&nbsp; &lt;data name="VerifierValidPattern" xml:space="preserve"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;value&gt;{0} must be a valid {1} pattern&lt;/value&gt;<BR>&nbsp; &lt;/data&gt;<BR>&lt;/root&gt;</DIV><DIV>&nbsp;</DIV>]]>
   </description>
   <pubDate>Tue, 13 Jul 2010 17:56:42 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=1964&amp;PID=7617#7617</guid>
  </item> 
 </channel>
</rss>