You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by maisonneuve nico <ni...@hotmail.com> on 2003/07/31 05:44:42 UTC
woody validation rule actif or not:
hi, i propose a way for not validate a widget ( example, in a account
form, i use the loginNameExistanceChecker rule in creation mode but not in
update mode )
Example :
function form2xml(form) {
var documentURI = cocoon.parameters["documentURI"];
var document = loadDocument(documentURI);
if action="update" form.noValidateWidget("login");
form.load(document);
form.show("form2-display-pipeline", formHandler);
form.save(document);
saveDocument(document, makeTargetURI(documentURI));
cocoon.sendPage("form2-success-pipeline");
form.finish();
}
i made some changes in the woody source :
in woody.js
Form.prototype.noValidateWidget= function(id) {
this.form.noValidateWidget(id);
}
Form.prototype.reValidateWidget= function(id) {
this.form.reValidateWidget(id);
}
in form.java
...
private List NoValidateWidgetsName;
...
public Form(FormDefinition definition) {
...
NoValidateWidgetsName= new ArrayList();
}
public boolean validate(FormContext formContext) {
boolean allValid = true;
Iterator widgetIt = widgets.iterator();
while (widgetIt.hasNext()) {
Widget widget = (Widget)widgetIt.next();
if (!NoValidateWidgetsName.contains(widget.getId().intern()))
allValid = allValid & widget.validate(formContext);
}
return allValid;
}
public void noValidateWidget(String id) {
NoValidateWidgetsName.add(id.intern());
}
public void reValidateWidget(String id) {
NoValidateWidgetsName.remove(id.intern());
}
_________________________________________________________________
Trouvez l'âme soeur sur MSN Rencontres ! http://g.msn.fr/FR1000/9551
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org