[ 
http://issues.apache.org/jira/browse/VALIDATOR-207?page=comments#action_12451948
 ] 
            
Niall Pemberton commented on VALIDATOR-207:
-------------------------------------------

You make a good point and I can't actually remember if this was an unintended 
consequence of the refactoring I did to use a common function 
(jcv_isFieldPresent) or not. Whatever the case though, you're right that the 
change isn't consistent with previous validator versions or what the docs 
indicate - my apologies for that.

Having said that I still think that disabled fields not being submitted to the 
server means that validation passes for fields marked as "required" that are 
missing - which seems incorrect to me. Also its a catch 22 situation in terms 
of compatibility - reverting the change will break consistency with Validator 
1.3.0 and anyone now relying on the new behaviour.

Seeing your description of how you were using this behaviour also makes me 
think theres an alternative solution for your use-case which models more 
accurately what you're trying to achieve and doesn't rely on what IMO was 
broken validator behaviour. Since Validator 1.2.0 you can "inherit" validation 
rules - which means you could define you're update form rules and then inherit 
(re-use) them for you're create form, something like this:

        <form name="updateUser">
            <field property="name" depends="required">
                ...
            </field>
        </form>

        <form name="createUser" extends="updateUser">
            <field property="password" depends="required,minLength">
                ...
            </field>
        </form>

See http://wiki.apache.org/jakarta-commons/ValidatorVersion120

I guess if this doesn't satisfy your need then perhaps an alternative solution 
would be to keep the current Validator 1.3.0 behaviour, but provide a way to 
configure the required script validator to ignore disabled fields. I haven't 
thought much about this - but my initial thought is to introduce a new 
"ignoreDisabled" parameter/variable that the required validator checks - 
alternative suggestions welcome though.


> Disabled fields should not be checked by the validateRequired function.  
> Relevant to adding the check for field disabled in jcv_isFieldPresent.
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: VALIDATOR-207
>                 URL: http://issues.apache.org/jira/browse/VALIDATOR-207
>             Project: Commons Validator
>          Issue Type: Bug
>          Components: JavaScript
>    Affects Versions: 1.3.0 Release
>            Reporter: Joseph Breuer
>
> For validateRequired the following condition checks to see if the field is 
> present.  It then sets the validity to false.
>             if (!jcv_isFieldPresent(field)) {
>                 fields[i++] = oRequired[x][1];
>                 isValid=false;
>             }
> Supposedly validateRequired as well as all of the validate methods are not 
> supposed to validate fields that are set as disabled.  This method seems to 
> categorize disabled fields with those that are null or are undefined.
> validateRequired should differentiate between the disabled fields and the not 
> present fields.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to