Example usage for org.apache.commons.validator Form getName

List of usage examples for org.apache.commons.validator Form getName

Introduction

In this page you can find the example usage for org.apache.commons.validator Form getName.

Prototype

public String getName() 

Source Link

Document

Gets the name/key of the set of validation rules.

Usage

From source file:net.jawr.web.resource.bundle.generator.validator.CommonsValidatorGenerator.java

@SuppressWarnings("unchecked")
private StringBuffer createDynamicJavascript(ValidatorResources resources, Form form, String messageNS,
        boolean stopOnErrors) {
    StringBuffer results = new StringBuffer();

    List<ValidatorAction> actions = this.createActionList(resources, form);

    final String methods = this.createMethods(actions, stopOnErrors);

    String jsFormName = form.getName();

    results.append(this.getJavascriptBegin(jsFormName, methods));

    for (Iterator<ValidatorAction> i = actions.iterator(); i.hasNext();) {
        ValidatorAction va = i.next();//  w ww. j ava 2 s.  com
        int jscriptVar = 0;
        String functionName = null;

        if ((va.getJsFunctionName() != null) && (va.getJsFunctionName().length() > 0)) {
            functionName = va.getJsFunctionName();
        } else {
            functionName = va.getName();
        }

        results.append("    function " + jsFormName + "_" + functionName + " () { \n");

        for (Iterator<Field> x = form.getFields().iterator(); x.hasNext();) {
            Field field = x.next();

            // Skip indexed fields for now until there is a good way to
            // handle error messages (and the length of the list (could
            // retrieve from scope?))
            if (field.isIndexed() || !field.isDependency(va.getName())) {
                continue;
            }

            String message = null;
            Msg msg = field.getMessage(va.getName());
            if ((msg != null) && !msg.isResource()) {
                message = JavascriptStringUtil.quote(msg.toString());
            } else {
                if (msg == null) {
                    message = va.getMsg();
                } else {
                    message = msg.getKey();
                }
                Arg[] args = field.getArgs(va.getName());

                message = messageNS + "." + message + "(";
                for (int a = 0; a < args.length; a++) {
                    if (args[a] != null) {
                        if (args[a].isResource()) {
                            message += messageNS + "." + args[a].getKey() + "()";
                        } else {
                            message += "\"" + args[a].getKey() + "\"";
                        }
                        message += ",";
                    }
                }
                message += "null)";
            }

            message = (message != null) ? message : "";

            // prefix variable with 'a' to make it a legal identifier
            results.append(
                    "     this.a" + jscriptVar++ + " = [\"" + field.getKey() + "\", " + (message) + ", ");

            results.append("function(varName){");

            Map<String, Var> vars = field.getVars();

            // Loop through the field's variables.
            Iterator<Entry<String, Var>> varsIterator = vars.entrySet().iterator();

            while (varsIterator.hasNext()) {

                Entry<String, Var> varEntry = varsIterator.next();
                String varName = varEntry.getKey();
                Var var = varEntry.getValue();
                String varValue = var.getValue();

                // Non-resource variable
                if (var.isResource()) {
                    varValue = messageNS + "." + varValue + "()";
                } else
                    varValue = "'" + varValue + "'";
                String jsType = var.getJsType();

                // skip requiredif variables field, fieldIndexed, fieldTest,
                // fieldValue
                if (varName.startsWith("field")) {
                    continue;
                }

                String varValueEscaped = JavascriptStringUtil.escape(varValue);

                if (Var.JSTYPE_INT.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=+" + varValueEscaped + "; ");
                } else if (Var.JSTYPE_REGEXP.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=eval('/'+" + varValueEscaped + "+'/'); ");
                } else if (Var.JSTYPE_STRING.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=" + varValueEscaped + "; ");

                    // So everyone using the latest format doesn't need to
                    // change their xml files immediately.
                } else if ("mask".equalsIgnoreCase(varName)) {
                    results.append("this." + varName + "=eval('/'+" + varValueEscaped + "+'/'); ");
                } else {
                    results.append("this." + varName + "=" + varValueEscaped + "; ");
                }
            }

            results.append(" return this[varName];}];\n");
        }

        results.append("    } \n\n");
    }
    return results;
}

From source file:org.apache.struts.taglib.html.JavascriptValidatorTag.java

/**
 * Generates the dynamic JavaScript for the form.
 *
 * @param config/*from w  ww. j  ava 2 s  . c o m*/
 * @param resources
 * @param locale
 * @param form
 */
private String createDynamicJavascript(ModuleConfig config, ValidatorResources resources, Locale locale,
        Form form) throws JspException {
    StringBuffer results = new StringBuffer();

    MessageResources messages = TagUtils.getInstance().retrieveMessageResources(pageContext, bundle, true);

    HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
    ServletContext application = pageContext.getServletContext();

    List actions = this.createActionList(resources, form);

    final String methods = this.createMethods(actions, this.stopOnError(config));

    String formName = form.getName();

    jsFormName = formName;

    if (jsFormName.charAt(0) == '/') {
        String mappingName = TagUtils.getInstance().getActionMappingName(jsFormName);
        ActionMapping mapping = (ActionMapping) config.findActionConfig(mappingName);

        if (mapping == null) {
            JspException e = new JspException(messages.getMessage("formTag.mapping", mappingName));

            pageContext.setAttribute(Globals.EXCEPTION_KEY, e, PageContext.REQUEST_SCOPE);
            throw e;
        }

        jsFormName = mapping.getAttribute();
    }

    results.append(this.getJavascriptBegin(methods));

    for (Iterator i = actions.iterator(); i.hasNext();) {
        ValidatorAction va = (ValidatorAction) i.next();
        int jscriptVar = 0;
        String functionName = null;

        if ((va.getJsFunctionName() != null) && (va.getJsFunctionName().length() > 0)) {
            functionName = va.getJsFunctionName();
        } else {
            functionName = va.getName();
        }

        results.append("    function " + jsFormName + "_" + functionName + " () { \n");

        for (Iterator x = form.getFields().iterator(); x.hasNext();) {
            Field field = (Field) x.next();

            // Skip indexed fields for now until there is a good way to
            // handle error messages (and the length of the list (could
            // retrieve from scope?))
            if (field.isIndexed() || (field.getPage() != page) || !field.isDependency(va.getName())) {
                continue;
            }

            String message = Resources.getMessage(application, request, messages, locale, va, field);

            message = (message != null) ? message : "";

            // prefix variable with 'a' to make it a legal identifier
            results.append("     this.a" + jscriptVar++ + " = new Array(\"" + field.getKey() + "\", \""
                    + escapeQuotes(message) + "\", ");

            results.append("new Function (\"varName\", \"");

            Map vars = field.getVars();

            // Loop through the field's variables.
            Iterator varsIterator = vars.keySet().iterator();

            while (varsIterator.hasNext()) {
                String varName = (String) varsIterator.next();
                Var var = (Var) vars.get(varName);
                String varValue = Resources.getVarValue(var, application, request, false);
                String jsType = var.getJsType();

                // skip requiredif variables field, fieldIndexed, fieldTest,
                // fieldValue
                if (varName.startsWith("field")) {
                    continue;
                }

                String varValueEscaped = escapeJavascript(varValue);

                if (Var.JSTYPE_INT.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=" + varValueEscaped + "; ");
                } else if (Var.JSTYPE_REGEXP.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=/" + varValueEscaped + "/; ");
                } else if (Var.JSTYPE_STRING.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "='" + varValueEscaped + "'; ");

                    // So everyone using the latest format doesn't need to
                    // change their xml files immediately.
                } else if ("mask".equalsIgnoreCase(varName)) {
                    results.append("this." + varName + "=/" + varValueEscaped + "/; ");
                } else {
                    results.append("this." + varName + "='" + varValueEscaped + "'; ");
                }
            }

            results.append(" return this[varName];\"));\n");
        }

        results.append("    } \n\n");
    }

    return results.toString();
}

From source file:org.apache.velocity.tools.struts.ValidatorTool.java

/**
 * Generates the dynamic JavaScript for the form.
 *
 * @param resources the validator resources
 * @param locale the locale for the current request
 * @param form the form to generate javascript for
 * @return the dynamic javascript//from  w  w  w .  j a  va 2  s .  c  o  m
 */
protected String getDynamicJavascript(ValidatorResources resources, Locale locale, Form form) {
    StringBuffer results = new StringBuffer();

    MessageResources messages = StrutsUtils.getMessageResources(request, app);

    List actions = createActionList(resources, form);

    final String methods = createMethods(actions);

    String formName = form.getName();

    jsFormName = formName;
    if (jsFormName.charAt(0) == '/') {
        String mappingName = StrutsUtils.getActionMappingName(jsFormName);
        ModuleConfig mconfig = ModuleUtils.getInstance().getModuleConfig(request, app);

        ActionConfig mapping = (ActionConfig) mconfig.findActionConfig(mappingName);
        if (mapping == null) {
            throw new NullPointerException("Cannot retrieve mapping for action " + mappingName);
        }
        jsFormName = mapping.getAttribute();
    }

    results.append(getJavascriptBegin(methods));

    for (Iterator i = actions.iterator(); i.hasNext();) {
        ValidatorAction va = (ValidatorAction) i.next();
        int jscriptVar = 0;
        String functionName = null;

        if (va.getJsFunctionName() != null && va.getJsFunctionName().length() > 0) {
            functionName = va.getJsFunctionName();
        } else {
            functionName = va.getName();
        }

        results.append("    function ");
        results.append(jsFormName);
        results.append("_");
        results.append(functionName);
        results.append(" () { \n");

        for (Iterator x = form.getFields().iterator(); x.hasNext();) {
            Field field = (Field) x.next();

            // Skip indexed fields for now until there is
            // a good way to handle error messages (and the length
            // of the list (could retrieve from scope?))
            if (field.isIndexed() || field.getPage() != page || !field.isDependency(va.getName())) {
                continue;
            }

            String message = Resources.getMessage(messages, locale, va, field);

            message = (message != null) ? message : "";

            //jscriptVar = this.getNextVar(jscriptVar);

            results.append("     this.a");
            results.append(jscriptVar++);
            results.append(" = new Array(\"");
            results.append(field.getKey()); // TODO: escape?
            results.append("\", \"");
            results.append(escapeJavascript(message));
            results.append("\", ");
            results.append("new Function (\"varName\", \"");

            Map vars = field.getVars();
            // Loop through the field's variables.
            Iterator varsIterator = vars.keySet().iterator();
            while (varsIterator.hasNext()) {
                String varName = (String) varsIterator.next(); // TODO: escape?
                Var var = (Var) vars.get(varName);
                String varValue = var.getValue();
                String jsType = var.getJsType();

                // skip requiredif variables field, fieldIndexed, fieldTest, fieldValue
                if (varName.startsWith("field")) {
                    continue;
                }

                // these are appended no matter what jsType is
                results.append("this.");
                results.append(varName);

                String escapedVarValue = escapeJavascript(varValue);

                if (Var.JSTYPE_INT.equalsIgnoreCase(jsType)) {
                    results.append("=");
                    results.append(escapedVarValue);
                    results.append("; ");
                } else if (Var.JSTYPE_REGEXP.equalsIgnoreCase(jsType)) {
                    results.append("=/");
                    results.append(escapedVarValue);
                    results.append("/; ");
                } else if (Var.JSTYPE_STRING.equalsIgnoreCase(jsType)) {
                    results.append("='");
                    results.append(escapedVarValue);
                    results.append("'; ");
                }
                // So everyone using the latest format
                // doesn't need to change their xml files immediately.
                else if ("mask".equalsIgnoreCase(varName)) {
                    results.append("=/");
                    results.append(escapedVarValue);
                    results.append("/; ");
                } else {
                    results.append("='");
                    results.append(escapedVarValue);
                    results.append("'; ");
                }
            }
            results.append(" return this[varName];\"));\n");
        }
        results.append("    } \n\n");
    }
    return results.toString();
}

From source file:org.caofei.taglib.html.JavascriptValidatorTag.java

/**
 * Generates the dynamic JavaScript for the form.
 *
 * @param config//from   ww  w .ja v a2  s .c o m
 * @param resources
 * @param locale
 * @param form
 */
private String createDynamicJavascript(ValidatorResources resources, Locale locale, Form form)
        throws JspException {
    StringBuffer results = new StringBuffer();
    /*
            MessageResources messages =
    TagUtils.getInstance().retrieveMessageResources(pageContext,
        bundle, true);
    */
    HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
    ServletContext application = pageContext.getServletContext();

    List actions = this.createActionList(resources, form);

    final String methods = this.createMethods(actions, this.stopOnError());

    String formName = form.getName();

    jsFormName = formName;

    /*
    if (jsFormName.charAt(0) == '/') {
    String mappingName =
        TagUtils.getInstance().getActionMappingName(jsFormName);
    ActionMapping mapping =
        (ActionMapping) config.findActionConfig(mappingName);
            
    if (mapping == null) {
        JspException e =
            new JspException(messages.getMessage("formTag.mapping",
                    mappingName));
            
        pageContext.setAttribute(Globals.EXCEPTION_KEY, e,
            PageContext.REQUEST_SCOPE);
        throw e;
    }
    jsFormName = mapping.getAttribute();
    }
     */

    results.append(this.getJavascriptBegin(methods));

    for (Iterator i = actions.iterator(); i.hasNext();) {
        ValidatorAction va = (ValidatorAction) i.next();
        int jscriptVar = 0;
        String functionName = null;

        if ((va.getJsFunctionName() != null) && (va.getJsFunctionName().length() > 0)) {
            functionName = va.getJsFunctionName();
        } else {
            functionName = va.getName();
        }

        results.append("    function " + jsFormName + "_" + functionName + " () { \n");

        for (Iterator x = form.getFields().iterator(); x.hasNext();) {
            Field field = (Field) x.next();

            // Skip indexed fields for now until there is a good way to
            // handle error messages (and the length of the list (could
            // retrieve from scope?))
            if (field.isIndexed() || (field.getPage() != page) || !field.isDependency(va.getName())) {
                continue;
            }

            String message = null;
            /*
            Resources.getMessage(application, request, messages,
                locale, va, field);
            */
            message = (message != null) ? message : "";

            // prefix variable with 'a' to make it a legal identifier
            results.append("     this.a" + jscriptVar++ + " = new Array(\"" + field.getKey() + "\", \""
                    + escapeQuotes(message) + "\", ");

            results.append("new Function (\"varName\", \"");

            Map vars = field.getVars();

            // Loop through the field's variables.
            Iterator varsIterator = vars.keySet().iterator();

            while (varsIterator.hasNext()) {
                String varName = (String) varsIterator.next();
                Var var = (Var) vars.get(varName);
                String varValue = null;
                /*
                Resources.getVarValue(var, application, request, false);
                */
                String jsType = var.getJsType();

                // skip requiredif variables field, fieldIndexed, fieldTest,
                // fieldValue
                if (varName.startsWith("field")) {
                    continue;
                }

                String varValueEscaped = escapeJavascript(varValue);

                if (Var.JSTYPE_INT.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=" + varValueEscaped + "; ");
                } else if (Var.JSTYPE_REGEXP.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=/" + varValueEscaped + "/; ");
                } else if (Var.JSTYPE_STRING.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "='" + varValueEscaped + "'; ");

                    // So everyone using the latest format doesn't need to
                    // change their xml files immediately.
                } else if ("mask".equalsIgnoreCase(varName)) {
                    results.append("this." + varName + "=/" + varValueEscaped + "/; ");
                } else {
                    results.append("this." + varName + "='" + varValueEscaped + "'; ");
                }
            }

            results.append(" return this[varName];\"));\n");
        }

        results.append("    } \n\n");
    }

    return results.toString();
}

From source file:us.mn.state.health.lims.taglib.JavascriptValidatorTag.java

/**
 * Generates the dynamic JavaScript for the form.
 * @param config//from w  w  w  .ja  va 2  s . c  o  m
 * @param resources
 * @param locale
 * @param form
 */
private String createDynamicJavascript(ModuleConfig config, ValidatorResources resources, Locale locale,
        Form form) throws JspException {

    StringBuffer results = new StringBuffer();

    MessageResources messages = TagUtils.getInstance().retrieveMessageResources(pageContext, bundle, true);

    HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
    ServletContext application = pageContext.getServletContext();

    List actions = this.createActionList(resources, form);

    final String methods = this.createMethods(actions, this.stopOnError(config));

    String formName = form.getName();
    jsFormName = formName;
    if (jsFormName.charAt(0) == '/') {
        String mappingName = TagUtils.getInstance().getActionMappingName(jsFormName);
        ActionMapping mapping = (ActionMapping) config.findActionConfig(mappingName);
        if (mapping == null) {
            JspException e = new JspException(messages.getMessage("formTag.mapping", mappingName));
            pageContext.setAttribute(Globals.EXCEPTION_KEY, e, PageContext.REQUEST_SCOPE);
            throw e;
        }
        jsFormName = mapping.getAttribute();
    }

    results.append(this.getJavascriptBegin(methods));

    for (Iterator i = actions.iterator(); i.hasNext();) {
        ValidatorAction va = (ValidatorAction) i.next();
        int jscriptVar = 0;
        String functionName = null;

        if (va.getJsFunctionName() != null && va.getJsFunctionName().length() > 0) {
            functionName = va.getJsFunctionName();
        } else {
            functionName = va.getName();
        }

        results.append("    function " + jsFormName + "_" + functionName + " () { \n");
        for (Iterator x = form.getFields().iterator(); x.hasNext();) {
            Field field = (Field) x.next();
            // Skip indexed fields for now until there is a good way to handle
            // error messages (and the length of the list (could retrieve from scope?))
            if (field.isIndexed() || field.getPage() != page || !field.isDependency(va.getName())) {

                continue;
            }

            String message = Resources.getMessage(application, request, messages, locale, va, field);

            message = (message != null) ? message : "";

            // prefix variable with 'a' to make it a legal identifier
            results.append("     this.a" + jscriptVar++ + " = new Array(\"" + field.getKey() + "\", \""
                    + escapeQuotes(message) + "\", ");

            results.append("new Function (\"varName\", \"");

            Map vars = field.getVars();
            // Loop through the field's variables.
            Iterator varsIterator = vars.keySet().iterator();
            while (varsIterator.hasNext()) {
                String varName = (String) varsIterator.next();
                Var var = (Var) vars.get(varName);
                String varValue = null;
                //bugzilla 1512
                if (varName.startsWith("datePattern")) {
                    if (var.getValue().equals("date.format.validate")) {
                        String messageKey = var.getValue();
                        varValue = ResourceLocator.getInstance().getMessageResources().getMessage(locale,
                                messageKey);
                    } else {
                        varValue = var.getValue();
                    }
                } else {
                    varValue = var.getValue();
                }
                String jsType = var.getJsType();

                // skip requiredif variables field, fieldIndexed, fieldTest, fieldValue
                if (varName.startsWith("field")) {
                    continue;
                }

                String varValueEscaped = ValidatorUtils.replace(varValue, "\\", "\\\\");
                varValueEscaped = ValidatorUtils.replace(varValueEscaped, "\"", "\\\"");

                if (Var.JSTYPE_INT.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=" + varValueEscaped + "; ");
                } else if (Var.JSTYPE_REGEXP.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "=/" + varValueEscaped + "/; ");
                } else if (Var.JSTYPE_STRING.equalsIgnoreCase(jsType)) {
                    results.append("this." + varName + "='" + varValueEscaped + "'; ");
                    // So everyone using the latest format doesn't need to change their xml files immediately.
                } else if ("mask".equalsIgnoreCase(varName)) {
                    results.append("this." + varName + "=/" + varValueEscaped + "/; ");
                } else {
                    results.append("this." + varName + "='" + varValueEscaped + "'; ");
                }
            }

            results.append(" return this[varName];\"));\n");
        }
        results.append("    } \n\n");
    }

    return results.toString();
}