🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
1 messages
1 total messages Started by DyXin Sun, 25 May 2003 18:13
STRUTS Validator
#4964
Author: DyXin
Date: Sun, 25 May 2003 18:13
74 lines
3975 bytes
Hey!

Weeral een vraagje van mij! ;-)
Deze keer omtrent Struts Validator:
ik heb enkele validatie-methodes geschreven voor m'n jaarproject, en die
werken ook, alleen is er iets mis met de error-message die je, bij foute
input, op je scherm krijgt! Dit is de code van de methode, de beschrijving
in validator-rules.xml en validation.xml:

public static boolean validateMinLengthIfExist (Object bean, ValidatorAction
va, Field field, ActionErrors errors, HttpServletRequest request)
{
    String value = ValidatorUtil.getValueAsString(bean,
field.getProperty());
    String minimum = field.getVarValue("min");
    int min;
    ........

    if (!GenericValidator.isBlankOrNull(value)) {
        if (value.length() >= min) return true;
        errors.add(field.getKey(),
StrutsValidatorUtil.getActionError(request, va, field));
        return false;
    }
    ........
}

<validator name="minLengthIfExist"
    classname="be.delijn.buzzy.util.BuzzyValidator"
    method="validateMinLengthIfExist"
    methodParams="java.lang.Object,
                            org.apache.commons.validator.ValidatorAction,
                            org.apache.commons.validator.Field,
                            org.apache.struts.action.ActionErrors,
                            javax.servlet.http.HttpServletRequest"
    msg="buzzy.error.msg.minLength"/>

<field property="correspondentieGemeente" depends="minLengthIfExist">
    <arg0 key="buzzy.gezinsLid.correspondentieGemeente"/>
    <arg1 name="min" key="${var:min}" resource="false"/>
    <var>
        <var-name>min</var-name>
        <var-value>2</var-value>
    </var>
</field>

buzzy.error.msg.minLength = {0} moet minstens uit {1} karakters bestaan

nu, die {0} wordt wel juist ingevuld, met name de waarde van
'buzzy.gezinsLid.correspondentieGemeente', maar {1} krijgt ALTIJD de waarde
'null', ook in andere validator-methodes die ik zelf heb geschreven en er
gelijkaardig uitzien... Nochtans hebben de standaard Validator-methodes
dezelfde error-message en structuur (op het eerste gezicht) dan die ik zelf
heb geschreven... En deze krijgen WEL altijd de juiste waarde van {1} te
zien... :-/

Weet er iemand hoe dit komt en hoe ik dit kan verhelpen (dus dat {1} wel
degelijk de juiste waarde krijgt)?

Verder nog iets over de standaard E-mail-validatie-methode: werkt die
eigenlijk wel? Want telkens ik die een veldje laat controleren en er een
willekeurig karakter in staat is da ok voor die standaard e-mail-validator
methode... Of doe ik iets verkeerd? Dit is wat ik doe:

<field property="email" depends="required,email">
    <arg0 key="buzzy.gezinsLid.email"/>
</field>

Dit is toch juist dacht ik?...

thnx a lot again! ;-)

mvg,
DyXin
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads