hi,

javax.faces.ServletException: "You have requested a conversion for type [
Lmy.app.CarType;, but there is no by-type converter registered for this
type"

as seen from exception above, a converter for string array is not needed..
in fact, exception says it can not find converter for "array of
my.app.CarType".. if it would ask for a string array converter, your
suggestion may help but it is looking for a "converter of my domain type's
array".. so, i can not declare a converter for all my domain types' arrays
(in this case, i have to declare converters for arrays of my.app.PhoneType,
my.app.CarType, my.app.DocumentType, etc...)... hundreds of types...

note that the above error exists at the current jars of shale framework...
but, if we put your fix(validate method looking submittedvalues instead of
converted values -
SHALE-412<https://issues.apache.org/struts/browse/SHALE-412>)
from a previous conversation into usage, we can overcome this issue by
adding a string array converter... because in this case, it will look for
conversion between String[] and String...

as a result, it seems that your solution is wise and validator should take
submitted values into accout.. so, i want to implement the same thing in our
app too.. i can put it directly but it's better to use shale's built codes..
but, i can not find your fix for SHALE-412 issue in nightly builds... can
you check it? and please direct me if i'm looking at wrong place?


Sounds like your doing some creating stuff with the validator.
Yes, i've customized so many parts at both shale-validator and
commons-validator jars... our project needs urgent validation requirements..
so, i have injected some extra solutions into framework..  nowadays i'm
working on validating only some specific(grouped) fields for only some
specific submits.. This means; for instance, a combo will only validate
A,B,C fields while another button(in the same form) will validate only E,F,G
fields...
This is a hard requirement :).. and needs core changes at framework.. that's
why i have to track and hold all my changes strictly and go parallel with
original shale code at the same time...

best regards,

hasan...




On 3/17/07, Gary VanMatre <[EMAIL PROTECTED] > wrote:

>From: "Hasan Turksoy" < [EMAIL PROTECTED]>
>
> i have implemented a workaround for this serverside required problem...
> shortly: if validatorscript sets the required attribute, as you say, JSF
> won't call my serverside validator when that field's value is empty...
to
> overcome this, i've commented the validatorscript's required attribute
> setting code.. this means JSF can't see that field as required and not
call
> any required validator for that field... So, how can we call serverside
> required validators? I've implemented an
> idea from myfaces wiki..
>
> Implementation in short; i have developed an
> RequiredValidatorChecker component.. it traverses all the component tree
and
> calls validate methods for found required validators...
> i have entered a blog about  this solution...
>
> So, you can think that serverside required validations are being called
when
> needed...
>
> In fact, the problem is ConverterHelper can not handle array/list types
in
> current situation... although i can't think of any such scenario,
somehow a
> validation may be necessary to validate an array/list value.. so, how
should
> it work in this case? (May be such a scenario is not possible ;) )
>

Shale Clay has an example of using a converter for string arrays[1][2].

I don't understand your problem with the validators.  I think I would have

tried using the "immediate" flag on the commands to stop short of
validation.
Or, looked at one of tomahawk or trinidad's subform components but you
might have a complex layout that won't let you do that.

Sounds like your doing some creating stuff with the validator.

[1]
http://svn.apache.org/viewvc/shale/framework/trunk/shale-clay/src/main/java/org/apache/shale/clay/convert/StringArrayConverter.java?view=markup
[2]
http://svn.apache.org/viewvc/shale/framework/trunk/shale-clay/src/main/resources/META-INF/faces-config.xml?view=markup


> Hasan...
>
>
> On 3/16/07, Gary VanMatre wrote:
> >
> >
> > The server-side "required" commons validator rule is kind of bogus.
I've
> > only seen it useful
> > for client side validation. This is because JSF requires a value
before
> > it will even invoke
> > the server side validation logic. A component's validator will not be
> > invoked if the component doesn't have a value. There is a separate
> > "required" attribute for components that are EditableValueHolders.
> >
> > The shale ValidatorScript component, that must be added at the end of
the
> > page, looks through the component tree and toggles on the required
attribute
> > for components that include the shale commons validator required
server side
> > rule. So, the ValidatorScript component is needed even if you are only
> > using sever side rules.
> >
> > Gary

Reply via email to