🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #4964

STRUTS Validator

#4964
From: 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
Technical Details
Message-ID: <pJ7Aa.19329$1u5.1329@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!68.6.19.232.MISMATCH!west.cox.net!east.cox.net!cox.net!cyclone1.gnilink.net!in.100proofnews.com!in.100proofnews.com!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: 107324,89acd29991062765,start
X-Google-Attributes: gid107324,public
X-Google-Thread: fcea4,89acd29991062765,start
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2003-05-25 11:13:52 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-09!supernews.com!68.6.19.232.MISMATCH!west.cox.net!east.cox.net!cox.net!cyclone1.gnilink.net!in.100proofnews.com!in.100proofnews.com!newsfeed.london1.eu.level3.net!level3eu!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: "DyXin" <DyXin@p@ndor@.be>
Newsgroups: be.comp.programming,nl.comp.programmeren
Subject: STRUTS Validator
Lines: 76
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1158
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165
Message-ID: <pJ7Aa.19329$1u5.1329@afrodite.telenet-ops.be>
Date: Sun, 25 May 2003 18:13:41 GMT
NNTP-Posting-Host: 213.119.145.135
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1053886421 213.119.145.135 (Sun, 25 May 2003 20:13:41 MET DST)
NNTP-Posting-Date: Sun, 25 May 2003 20:13:41 MET DST
Organization: Telenet Internet