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<http://wiki.apache.org/myfaces/OptionalValidationFramework>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<http://www.jroller.com/page/hasant?entry=jsf_bypassable_client_and_server>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 ;) )

Hasan...


On 3/16/07, Gary VanMatre <[EMAIL PROTECTED]> 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