Hello,
   In the validator documentation is states the following:

As an alternative for fd:java, you can also add validators at run time to a 
form instance, using the addValidator method on a form or widget. Since you 
then instantiate the validator yourself, you can pass it anything you want, and 
it can be stateful.

However, it doesn't really say where in the cocoon ecosystem this injection of 
a validator needs to occur.  Can anyone provide specifics on this?  E.g. is 
this done somewhere in the flowscript?

Also, I've tried following the instructions for added a java validtor using 
fd:java, but it's not getting triggered.  Below is my code, any ideas why it 
doesn't seem to be working?

    <fd:field id="name" required="true">
      <fd:label>Name:</fd:label>
      <fd:datatype base="string"/>
      <fd:validation>
        <fd:length min="2"/>
      </fd:validation>
      <fd:validation>
         <fd:java class="com.boeing.ssp.cforms.LoginValidator"/>
         <fd:failmessage>User does not exist.</fd:failmessage>
       </fd:validation>
    </fd:field>

package com.boeing.ssp.cforms;

import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.cocoon.forms.formmodel.Widget;
import org.apache.cocoon.forms.validation.WidgetValidator;

import com.boeing.mifssp.CFormUtils;

public class LoginValidator extends AbstractLogEnabled  implements 
WidgetValidator {

          /**
     * @see 
org.apache.cocoon.forms.validation.WidgetValidator#validate(org.apache.cocoon.forms.formmodel.Widget)
     */
    public boolean validate(Widget widget) {
      String loginStrs[] = new String[1];
      getLogger().info("Validating user " + (String) widget.getValue());

          loginStrs[0] = (String) widget.getValue();
          boolean goodLogin = CFormUtils.submitIfQuery("loginCheck", "ivhm", 
"ModelManagement", null, null, loginStrs);
      return goodLogin;
    }
}

Thanks,
Jeff




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to