Unterschiede

Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.

eclipse-riena:validation 2016/01/08 13:02 eclipse-riena:validation 2020/01/22 20:59 aktuell
Zeile 1: Zeile 1:
[[eclipse-riena|Java - Eclipse-Riena]]\\ [[eclipse-riena|Java - Eclipse-Riena]]\\
====== Validierung ====== ====== Validierung ======
-Das Beispiel zeigt die Validerung eines Eingabefeldes für die Postleitzahl. Dabei wird darauf geprüft, ob die Eingabe nur Ziffern enthält und ob die Anzahl der Ziffern wirklich fünf beträgt:\\+Das Beispiel zeigt die Validerung eines Eingabefeldes für die Postleitzahl. Dabei wird darauf geprüft, ob die Eingabe nur Ziffern enthält und ob die Anzahl der Ziffern wirklich fünf beträgt.\\
<html> <html>
  <script type="text/javascript"><!--   <script type="text/javascript"><!--
Zeile 23: Zeile 23:
\\ \\
\\ \\
 +In einem View wird unter anderem das Textfeld für die Plz erstellt:
 +<code java>
 +public class MyView extends SubModuleView {
 +  @Override
 +  protected void basicCreatePartControl(Composite parent) {
 +      // ...
 +      UIControlsFactory.createLabel(parent, "Plz:");
 +      UIControlsFactory.createText(composite, SWT.NONE, "zip");
 +      //...
 +  }
 +}
 +</code>
 +\\
 +\\
 +Die Validierung wird im Controller durchgeführt:
 +<code java>
 +public class MyController extends SubModuleController {
 +  @Override
 +  public void configureRidgets() {
 +      super.configureRidgets();
 +
 +      // ...
 +
 +      ITextRidget ridgetZip = getRidget(ITextRidget.class, "plz");
 +      ridgetZip.addValidationRule(new IValidator() {
 + @Override
 + public IStatus validate(Object value) {
 +     try {
 +       Integer.valueOf((String) value);  // Versuch den Text in eine Zahl zu wandeln
 +            } catch (NumberFormatException e) {
 +       return ValidationRuleStatus.error(false, "Nur Ziffern sind erlaubt!");
 +     }
 +            if (String.valueOf(value).length() != 5)
 +                return ValidationRuleStatus.error(false, "Die Länge der Plz muss 5 Zeichen betragen!");
 +            return ValidationRuleStatus.ok();
 +        }
 +      }, ValidationTime.ON_UI_CONTROL_EDIT);
 +  }
 +}
 +</code>
 +\\
 +\\
 +Möchte man, dass die Fehlermeldungen auch in der Statuszeile angezeigt werden, so kann dies mittels einer Extension eingeschaltet werden:
 +<code xml>
 +<extension point="org.eclipse.riena.core.configuration">
 +  <property key="riena.showRidgetMessagesInStatusline" value="true" />
 +</extension>
 +</code>

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007