Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/shared/FieldVerifier.java @ 5509:627584bc0586
Datacage: Added <dc:filter> element. This allows cleaner way to narrow the datasets.
Example:
<dc:context>
<dc:statement>
SELECT DISTINCT
name AS hws_name,
official AS hws_official,
kind_id AS hws_kind
FROM hws_lines
WHERE river_id = ${river_id}
</dc:statement>
<dc:if test="dc:has-result()">
<lines>
<dc:macro name="hws-lines">
<dc:elements>
<hws factory="hwsfactory" name="{$hws_name}"/>
</dc:elements>
</dc:macro>
<dc:filter expr="$hws_official=1">
<dc:if test="dc:has-result()">
<official>
<dc:filter expr="$hws_kind=1">
<dc:if test="dc:has-result()">
<Durchlass><dc:call-macro name="hws-lines"></Durchlass>
</dc:if>
</dc:filter>
<dc:filter expr="$hws_kind=2">
<dc:if test="dc:has-result()">
<Damm><dc:call-macro name="hws-lines"></Damm>
</dc:if>
</dc:filter>
<dc:filter expr="$hws_kind=3">
<dc:if test="dc:has-result()">
<Graben><dc:call-macro name="hws-lines"></Graben>
</dc:if>
</dc:filter>
</official>
</dc:if>
</dc:filter>
</lines>
</dc:if>
</dc:context>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 28 Mar 2013 16:51:15 +0100 |
parents | ba1b27b7d282 |
children |
line wrap: on
line source
package de.intevation.flys.client.shared; /** * <p> * FieldVerifier validates that the name the user enters is valid. * </p> * <p> * This class is in the <code>shared</code> package because we use it in both * the client code and on the server. On the client, we verify that the name is * valid before sending an RPC request so the user doesn't have to wait for a * network round trip to get feedback. On the server, we verify that the name is * correct to ensure that the input is correct regardless of where the RPC * originates. * </p> * <p> * When creating a class that is used on both the client and the server, be sure * that all code is translatable and does not use native JavaScript. Code that * is note translatable (such as code that interacts with a database or the file * system) cannot be compiled into client side JavaScript. Code that uses native * JavaScript (such as Widgets) cannot be run on the server. * </p> */ public class FieldVerifier { /** * Verifies that the specified name is valid for our service. * * In this example, we only require that the name is at least four * characters. In your application, you can use more complex checks to ensure * that usernames, passwords, email addresses, URLs, and other fields have the * proper syntax. * * @param name the name to validate * @return true if valid, false if invalid */ public static boolean isValidName(String name) { if (name == null) { return false; } return name.length() > 3; } }