<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="4">Hi Mark, <br>
      </font></p>
    <p><font size="4">In the Cuis-Smalltalk-UI, you can find the Mold
        system a general system for input validation. It does not need
        to specialize Widget for validation, it uses external classes to
        do so.</font></p>
    <p><!-- HTML generated using hilite.me --></p>
    <div
style="background: #ffffff; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.1em .6em;">
      <table>
        <tbody>
          <tr>
            <td>
              <pre style="margin: 0; line-height: 125%"> 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36</pre>
            </td>
            <td>
              <pre style="margin: 0; line-height: 125%"><span
              style="color: #0066BB; font-weight: bold">MoldExample>>eight</span>
<span style="color: #888888">"</span>
<span style="color: #888888">   MoldExample eight</span>
<span style="color: #888888">"</span>
 <span style="color: #333333">|</span><span style="color: #996633"> mold fullname email confirmEmail </span><span
              style="color: #333333">|</span>
        <span style="color: #996633">mold</span> <span style="color: #333333">:=</span> <span
              style="color: #BB0066; font-weight: bold">Mold</span> <span
              style="color: #007020">new</span>.
        <span style="color: #996633">fullname</span> <span
              style="color: #333333">:=</span> <span
              style="color: #996633">mold</span> <span
              style="color: #0066BB; font-weight: bold">stringField</span>
                <span style="color: #0066BB; font-weight: bold">on:</span> <span
              style="color: #AA6600">#propertyValue</span> <span
              style="color: #0066BB; font-weight: bold">of:</span> <span
              style="color: #BB0066; font-weight: bold">ValueHolder</span> <span
              style="color: #007020">new</span>;
                <span style="color: #0066BB; font-weight: bold">label:</span> <span
              style="background-color: #fff0f0">'Your Name'</span>;
                <span style="color: #0066BB; font-weight: bold">beRequired</span>;
                <span style="color: #0066BB; font-weight: bold">addCondition:</span> [ <span
              style="color: #333333">:</span><span
              style="color: #996633">input</span> <span
              style="color: #333333">|</span> <span
              style="color: #996633">input</span> <span
              style="color: #0066BB; font-weight: bold">includesSubString:</span> <span
              style="background-color: #fff0f0">' '</span>]
                        <span style="color: #0066BB; font-weight: bold">labeled:</span> 
                                [ <span style="color: #333333">:</span><span style="color: #996633">wrong</span> <span
              style="color: #333333">|</span> 
                                <span style="background-color: #fff0f0">'Please enter your first and last name. I couldn''t find a space in {1}'</span> <span
              style="color: #0066BB; font-weight: bold">format:</span>  {<span
              style="color: #996633">wrong</span>} ].
        <span style="color: #996633">email</span> <span style="color: #333333">:=</span> <span
              style="color: #996633">mold</span> <span
              style="color: #0066BB; font-weight: bold">emailField</span>
                <span style="color: #0066BB; font-weight: bold">on:</span> <span
              style="color: #AA6600">#propertyValue</span> <span
              style="color: #0066BB; font-weight: bold">of:</span> <span
              style="color: #BB0066; font-weight: bold">ValueHolder</span> <span
              style="color: #007020">new</span>;
                <span style="color: #0066BB; font-weight: bold">label:</span> <span
              style="background-color: #fff0f0">'Email Address:'</span>.
        <span style="color: #996633">confirmEmail</span> <span
              style="color: #333333">:=</span> <span
              style="color: #996633">mold</span> <span
              style="color: #0066BB; font-weight: bold">emailField</span>
                <span style="color: #0066BB; font-weight: bold">on:</span> <span
              style="color: #AA6600">#propertyValue</span> <span
              style="color: #0066BB; font-weight: bold">of:</span> <span
              style="color: #BB0066; font-weight: bold">ValueHolder</span> <span
              style="color: #007020">new</span>;
                <span style="color: #0066BB; font-weight: bold">label:</span> <span
              style="background-color: #fff0f0">'Confirm Email:'</span>.
        <span style="color: #996633">email</span> 
                <span style="color: #0066BB; font-weight: bold">addCondition:</span> [ <span
              style="color: #333333">:</span><span
              style="color: #996633">input</span> <span
              style="color: #333333">|</span> <span
              style="color: #996633">input</span> <span
              style="color: #0066BB; font-weight: bold">=</span> <span
              style="color: #996633">confirmEmail</span> <span
              style="color: #0066BB; font-weight: bold">input</span> ]
                <span style="color: #0066BB; font-weight: bold">labeled:</span> <span
              style="background-color: #fff0f0">'Email addresses did not match.'</span>.
        <span style="color: #996633">confirmEmail</span> 
                <span style="color: #0066BB; font-weight: bold">addCondition:</span> [ <span
              style="color: #333333">:</span><span
              style="color: #996633">input</span> <span
              style="color: #333333">|</span> <span
              style="color: #996633">input</span> <span
              style="color: #0066BB; font-weight: bold">=</span> <span
              style="color: #996633">email</span> <span
              style="color: #0066BB; font-weight: bold">input</span> ]
                <span style="color: #0066BB; font-weight: bold">labeled:</span> <span
              style="background-color: #fff0f0">'Email addresses did not match.'</span>.
        <span style="color: #996633">mold</span> <span
              style="color: #0066BB; font-weight: bold">textField</span>
                <span style="color: #0066BB; font-weight: bold">on:</span> <span
              style="color: #AA6600">#propertyValue</span> <span
              style="color: #0066BB; font-weight: bold">of:</span> <span
              style="color: #BB0066; font-weight: bold">ValueHolder</span> <span
              style="color: #007020">new</span>;
                <span style="color: #0066BB; font-weight: bold">label:</span> <span
              style="background-color: #fff0f0">'About yourself.'</span>;
                <span style="color: #0066BB; font-weight: bold">beRequired</span>.
        <span style="color: #996633">mold</span> <span
              style="color: #0066BB; font-weight: bold">checkboxField</span>
                <span style="color: #0066BB; font-weight: bold">on:</span> <span
              style="color: #AA6600">#propertyValue</span> <span
              style="color: #0066BB; font-weight: bold">of:</span> (<span
              style="color: #BB0066; font-weight: bold">ValueHolder</span> <span
              style="color: #0066BB; font-weight: bold">with:</span> <span
              style="color: #007020">true</span>);
                <span style="color: #0066BB; font-weight: bold">label:</span> <span
              style="background-color: #fff0f0">'Sign for the newsletter'</span>;
                <span style="color: #0066BB; font-weight: bold">addCondition:</span> [ <span
              style="color: #333333">:</span><span
              style="color: #996633">input</span> <span
              style="color: #333333">|</span> <span
              style="color: #996633">fullname</span> <span
              style="color: #0066BB; font-weight: bold">isValid</span> <span
              style="color: #0066BB; font-weight: bold">not</span> <span
              style="color: #0066BB; font-weight: bold">or:</span> [ <span
              style="color: #996633">input</span> <span
              style="color: #0066BB; font-weight: bold">or:</span> [ <span
              style="color: #996633">fullname</span> <span
              style="color: #0066BB; font-weight: bold">value</span> <span
              style="color: #0066BB; font-weight: bold">first</span> <span
              style="color: #0066BB; font-weight: bold">=</span> <span
              style="color: #0044DD">$K</span> ] ] ]
                        <span style="color: #0066BB; font-weight: bold">labeled:</span> <span
              style="background-color: #fff0f0">'Sorry, you may not opt out of our spam unless your name starts with K.'</span>.
        <span style="color: #996633">mold</span> <span
              style="color: #0066BB; font-weight: bold">openDialog:</span> <span
              style="background-color: #fff0f0">'Example Eight'</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <p><font size="4"><br>
      </font></p>
    <p><font size="4">Hilaire</font></p>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="http://mamot.fr/@drgeo">http://mamot.fr/@drgeo</a></pre>
  </body>
</html>