Bruno Dumon wrote:

On Thu, 2004-05-06 at 16:23, [EMAIL PROTECTED] wrote:


vgritsenko 2004/05/06 07:23:04

Modified: . status.xml
src/blocks/forms/samples sitemap.xmap welcome.xml
src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript
Form.js
src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v2
Form.js
src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/v3
Form.js
src/blocks/forms/samples/forms sitemap.xmap
Removed: src/blocks/forms/samples/flow customvalidationdemo.js
src/blocks/forms/samples/forms customvalidationdemo_form.xml
customvalidationdemo_template.xml
Log:
Remove flow level custom validators
http://marc.theaimsgroup.com/?t=108091920700001&r=1&w=2



(I highly appreciate the cleanup work, but...)


Allthough the flow-level validator function was a hack, won't it be too
annoying for users who are relying on it to throw it out completely?
This will make the woody -> cforms move a bit harder...



Cleaning up means so backwards incompatibilities, and I'm +1000 to remove this hack. What we can do however, is check if a "validator" property exists in a form object and fail hard with an exception if it exists. That way, users will be informed that this "feature" has been removed.


Also, couldn't the example be updated to how it should be done now?

Lastly, the behaviour of the WidgetValidators are not yet a complete
replacement for the validator function, see this important BUT in
AbstractContainerWidget:

public boolean validate() {
// Validate self only if child widgets are valid
//TODO: check if we should not change this to still validating
kids first // BUT also validating the top level
if (widgets.validate()) {
return super.validate();
} else {
return false;
}
}


Is there anyone who knows a reason why the parent shouldn't be validated
if kids fail? Seems to be too limitting to me.



Ditto. A validator relying on other widget's values (be them children or not) must be consider these widgets do be potentially invalid. And there are some valid use cases in our "form1" sample: the "contacts" repeater checks uniqueness of contact names among rows, and this validation makes sense even if emails are invalid.


Sylvain

--
Sylvain Wallez                                  Anyware Technologies
http://www.apache.org/~sylvain           http://www.anyware-tech.com
{ XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }



Reply via email to