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