url validator tag / tomahawk based on emailvalidator
----------------------------------------------------
Key: MYFACES-372
URL: http://issues.apache.org/jira/browse/MYFACES-372
Project: MyFaces
Type: New Feature
Versions: Nightly Build
Environment: windows
Reporter: Fabian Frederick
Priority: Trivial
Index: tomahawk/tld/myfaces_ext.tld
===================================================================
--- tomahawk/tld/myfaces_ext.tld (revision 225811)
+++ tomahawk/tld/myfaces_ext.tld (working copy)
@@ -2381,6 +2381,15 @@
A custom validator for email address format, based
upons Jakarta Commons.
</description>
</tag>
+ <!-- Validator for Url -->
+ <tag>
+ <name>validateUrl</name>
+
<tag-class>org.apache.myfaces.custom.emailvalidator.ValidateUrlTag</tag-class>
+ <body-content>JSP</body-content>
+ <description>
+ A custom validator for url format, based upons Jakarta
Commons.
+ </description>
+ </tag>
<!-- Validator for ISBN -->
<!--tag>
Index: tomahawk/conf/faces-config.xml
===================================================================
--- tomahawk/conf/faces-config.xml (revision 225811)
+++ tomahawk/conf/faces-config.xml (working copy)
@@ -720,6 +720,11 @@
</validator>
<validator>
+ <validator-id>org.apache.myfaces.validator.Url</validator-id>
+
<validator-class>org.apache.myfaces.custom.urlvalidator.UrlValidator</validator-class>
+ </validator>
+
+ <validator>
<validator-id>org.apache.myfaces.validator.Equal</validator-id>
<validator-class>org.apache.myfaces.custom.equalvalidator.EqualValidator</validator-class>
</validator>
Index:
tomahawk/src/java/org/apache/myfaces/custom/urlvalidator/UrlValidator.java
===================================================================
--- tomahawk/src/java/org/apache/myfaces/custom/urlvalidator/UrlValidator.java
(revision 0)
+++ tomahawk/src/java/org/apache/myfaces/custom/urlvalidator/UrlValidator.java
(revision 0)
@@ -0,0 +1,54 @@
+package org.apache.myfaces.custom.urlvalidator;
+
+import org.apache.myfaces.util.MessageUtils;
+
+import org.apache.commons.validator.GenericValidator;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.validator.Validator;
+import javax.faces.validator.ValidatorException;
+
+public class UrlValidator implements Validator {
+
+ /**
+ * <p>The standard converter id for this converter.</p>
+ */
+ public static final String VALIDATOR_ID =
"org.apache.myfaces.validator.Url";
+ /**
+ * <p>The message identifier of the [EMAIL PROTECTED] FacesMessage} to
be created if
+ * the maximum length check fails.</p>
+ */
+ public static final String URL_MESSAGE_ID =
"org.apache.myfaces.Url.INVALID";
+
+ public UrlValidator(){
+ }
+
+ /**
+ * method that validates an url address.
+ * it uses the commons-validator
+ */
+ public void validate(
+ FacesContext facesContext,
+ UIComponent uiComponent,
+ Object value)
+ throws ValidatorException {
+
+
+ if (facesContext == null) throw new
NullPointerException("facesContext");
+ if (uiComponent == null) throw new
NullPointerException("uiComponent");
+
+ if (value == null)
+ {
+ return;
+ }
+ if (!GenericValidator.isUrl(value.toString())) {
+ Object[] args = {value.toString()};
+ throw new
ValidatorException(MessageUtils.getMessage(FacesMessage.SEVERITY_ERROR,URL_MESSAGE_ID,
args));
+
+ }
+
+ }
+
+}
Index:
tomahawk/src/java/org/apache/myfaces/custom/urlvalidator/ValidateUrlTag.java
===================================================================
---
tomahawk/src/java/org/apache/myfaces/custom/urlvalidator/ValidateUrlTag.java
(revision 0)
+++
tomahawk/src/java/org/apache/myfaces/custom/urlvalidator/ValidateUrlTag.java
(revision 0)
@@ -0,0 +1,27 @@
+package org.apache.myfaces.custom.urlvalidator;
+
+import javax.faces.validator.Validator;
+import javax.faces.webapp.ValidatorTag;
+import javax.servlet.jsp.JspException;
+
+public class ValidateUrlTag extends ValidatorTag
+{
+ private static final long serialVersionUID = 6041422002721046221L;
+
+ public ValidateUrlTag()
+ {
+ }
+
+ protected Validator createValidator() throws JspException
+ {
+ setValidatorId(UrlValidator.VALIDATOR_ID);
+ UrlValidator validator = (UrlValidator)super.createValidator();
+ return validator;
+ }
+
+ public void release()
+ {
+ super.release();
+ }
+
+}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira