You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2005/09/29 10:17:36 UTC
svn commit: r292402 -
/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java
Author: mbr
Date: Thu Sep 29 01:17:31 2005
New Revision: 292402
URL: http://svn.apache.org/viewcvs?rev=292402&view=rev
Log:
patch from Jamie Cash for MYFACES-636
Modified:
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java?rev=292402&r1=292401&r2=292402&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/component/html/ext/HtmlSelectOneRadio.java Thu Sep 29 01:17:31 2005
@@ -15,6 +15,8 @@
*/
package org.apache.myfaces.component.html.ext;
+import java.util.Iterator;
+
import javax.faces.application.FacesMessage;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
@@ -25,6 +27,7 @@
import javax.faces.validator.ValidatorException;
import org.apache.myfaces.component.DisplayValueOnlyCapable;
+
import org.apache.myfaces.component.UserRoleAware;
import org.apache.myfaces.component.UserRoleUtils;
import org.apache.myfaces.component.html.util.HtmlComponentUtils;
@@ -38,7 +41,7 @@
extends javax.faces.component.html.HtmlSelectOneRadio
implements UserRoleAware, DisplayValueOnlyCapable
{
- public String getClientId(FacesContext context)
+ public String getClientId(FacesContext context)
{
String clientId = HtmlComponentUtils.getClientId(this, getRenderer(context), context);
if (clientId == null)
@@ -78,9 +81,20 @@
//Check required and empty
if (isRequired() && empty)
{
- MessageUtils.addMessage(FacesMessage.SEVERITY_WARN, REQUIRED_MESSAGE_ID,
- new Object[] {getId()});
+ //Only add this message once, not for every radio button in set
+ String clientId = this.getClientId(context);
+ Iterator messages = context.getMessages(clientId);
+ boolean messageExists = messages.hasNext();
+
+ if(!messageExists)
+ {
+ //Add message
+ FacesMessage message = MessageUtils.getMessage(REQUIRED_MESSAGE_ID, new Object[]{clientId});
+ message.setSeverity(FacesMessage.SEVERITY_WARN);
+ context.addMessage(clientId, message);
+
setValid(false);
+ }
return;
}
@@ -91,7 +105,7 @@
}
}
}
-
+
private static void callValidators(FacesContext context, UIInput input, Object convertedValue)
{
Validator[] validators = input.getValidators();