Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Jakarta-tapestry Wiki" 
for change notification.

The following page has been changed by ScottWalter:
http://wiki.apache.org/jakarta-tapestry/CheckingForRequiredValidator

------------------------------------------------------------------------------
  However, if you are using the new {{{Validation}}} model of Tapestry 4.0 you 
will want to do this
  {{{
  public void writeSuffix(IMarkupWriter writer, IRequestCycle cycle, 
IFormComponent component, IValidator validator) {
+                         boolean required = false;
+                       if(component.getBinding("validators") instanceof 
ExpressionBinding) {
+                               ExpressionBinding expressionBinding = 
(ExpressionBinding) component.getBinding("validators");
+                               
org.apache.tapestry.form.validator.BaseValidator singleValidator = 
(org.apache.tapestry.form.validator.BaseValidator)expressionBinding.getObject();
+                               if(singleValidator instanceof Required) {
+                                 requiredField = true;
+                               }                                               
                
+                       } else {
-               ValidatorsBinding vb = (ValidatorsBinding) 
component.getBinding("validators");
+                               ValidatorsBinding vb = (ValidatorsBinding) 
component.getBinding("validators");
-               Collection collection = (Collection) vb.getObject();
+                               Collection collection = (Collection) 
vb.getObject();
-               for(Iterator it = collection.iterator();it.hasNext();){
+                               for(Iterator it = 
collection.iterator();it.hasNext();){
-                   Validator validatorObject = (Validator) it.next();
+                                   Validator validatorObject = (Validator) 
it.next();
-                   if(validatorObject instanceof Required) {
+                                   if(validatorObject instanceof Required) {
+                                     requiredField = true;
+                                   }
+                              }                        
+                       }  
-                         writer.printRaw("&nbsp");
-                         writer.begin("span");
-                         writer.attribute("class", "required-marker");
-                         writer.beginEmpty("img");
-                         writer.attribute("src","images/required.jpg");
-                         writer.attribute("alt","required field");
-                         writer.attribute("align","middle");
-                         writer.end();
  
-                           break;
-                   }
-               }
- }
- 
+               if(requiredField) {
+                       writer.printRaw("&nbsp");
+                       writer.begin("span");
+                       writer.attribute("class", "required-marker");
+                       writer.beginEmpty("img");
+                       writer.attribute("src","images/required.jpg");
+                       writer.attribute("alt","required field");
+                       writer.attribute("align","middle");
+                       writer.end();
+               }
+               
+               if(isInError()) {
+                       writer.printRaw("&nbsp");
+                       writer.beginEmpty("img");
+                       writer.attribute("align","middle");
+                       writer.attribute("src","images/warning_icon.gif");
+               }
  }}}
  

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

Reply via email to