Return-Path: Delivered-To: apmail-struts-user-archive@www.apache.org Received: (qmail 34488 invoked from network); 28 Mar 2006 11:37:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 28 Mar 2006 11:37:42 -0000 Received: (qmail 23203 invoked by uid 500); 28 Mar 2006 11:37:31 -0000 Delivered-To: apmail-struts-user-archive@struts.apache.org Received: (qmail 23174 invoked by uid 500); 28 Mar 2006 11:37:31 -0000 Mailing-List: contact user-help@struts.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Struts Users Mailing List" Reply-To: "Struts Users Mailing List" Delivered-To: mailing list user@struts.apache.org Received: (qmail 23162 invoked by uid 99); 28 Mar 2006 11:37:31 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Mar 2006 03:37:31 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of ted.husted@gmail.com designates 64.233.166.182 as permitted sender) Received: from [64.233.166.182] (HELO pproxy.gmail.com) (64.233.166.182) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 28 Mar 2006 03:37:30 -0800 Received: by pproxy.gmail.com with SMTP id i49so1764163pye for ; Tue, 28 Mar 2006 03:37:09 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=OtCN7ijD5BRDS/Jc0p4vOWIB535SHwomOMFo/KlOPbzRrx+s4Yce69QOoW28PaXxS7cCwDc/fCZpY47Z7rdaROyAVxyKgzJ/ZhCphB1LxTNS2l0c3wvJEpGN4Gh7taKtcuESwzZhiU/rRgq9NuSYB61Y1LV9uHLqZzoxG5pKj18= Received: by 10.35.107.20 with SMTP id j20mr555610pym; Tue, 28 Mar 2006 03:37:09 -0800 (PST) Received: by 10.35.19.20 with HTTP; Tue, 28 Mar 2006 03:37:09 -0800 (PST) Message-ID: <8b3ce3790603280337xd44c540m9efdb58ead6a437b@mail.gmail.com> Date: Tue, 28 Mar 2006 06:37:09 -0500 From: "Ted Husted" Reply-To: husted@apache.org To: "Struts Users Mailing List" Subject: Re: the ValidateExtends extension In-Reply-To: <694007130603240905k7860a0e7kb335c810501b1edc@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <694007130603240905k7860a0e7kb335c810501b1edc@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On 3/24/06, Vinny wrote: > I've been using the ValidateExtends extension to validate nested dynaform= to > great effect. Currently , it provides no method of using the client > side (javascript) stuff. > Any plans for that to be included? > http://www.niallp.pwp.blueyonder.co.uk/strutsvalidatorextends.html The trick is to patch the extension so that it does what you need to do, and then contribute the patch back to the project. That's where many of our niftiest features came from, including the Validator itself. > Will this become a non-issue in the new Action framework? I'm working on a Cookbook for Action 2, and I just put these use cases on the list of things to include. The Action 2 validation framework is similar to the Commons Validator, but uses a "code behind" approach with the configuration files. Each Action can have it's own "Action-validation.xml" file. When validation is needed, the validation for every class in the inheritance path is applied. Here's an example from the Action2-Mailreader (which is nearly complete). This is "SubscripionSave-validation.xml" . It's kept alongside the Java cla= ss. This is the Subscription-validation.xml. SubscriptionSave is a subclass of Subscription. The Subscription action is used to edit or delete records, so the only validation we need is the "host" property, which is used as a key. The SubscriptionSave action is used to Insert or Update records. When SubscriptionSave is validated, the "host" is validated too, because SubscriptionSave is a subsclass of Subscription. The Message Resource properties work the same way, but you can also have a global resource that applies to all classes. For more about WebWork-style validation see * http://wiki.opensymphony.com/display/WW/Validation There's probably some ideas here that we can back-port to Action 1. -- HTH, Ted. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscribe@struts.apache.org For additional commands, e-mail: user-help@struts.apache.org