| java.lang.Object org.apache.commons.validator.UrlValidator
UrlValidator | public class UrlValidator implements Serializable(Code) | | Validates URLs.
Behavour of validation is modified by passing in options:
ALLOW_2_SLASHES - [FALSE] Allows double '/' characters in the path
component.
NO_FRAGMENT- [FALSE] By default fragments are allowed, if this option is
included then fragments are flagged as illegal.
ALLOW_ALL_SCHEMES - [FALSE] By default only http, https, and ftp are
considered valid schemes. Enabling this option will let any scheme pass validation.
Originally based in on php script by Debbie Dyer, validation.php v1.2b, Date: 03/07/02,
http://javascript.internet.com. However, this validation now bears little resemblance
to the php original.
Example of usage:
Construct a UrlValidator with valid schemes of "http", and "https".
String[] schemes = {"http","https"}.
UrlValidator urlValidator = new UrlValidator(schemes);
if (urlValidator.isValid("ftp://foo.bar.com/")) {
System.out.println("url is valid");
} else {
System.out.println("url is invalid");
}
prints "url is invalid"
If instead the default constructor is used.
UrlValidator urlValidator = new UrlValidator();
if (urlValidator.isValid("ftp://foo.bar.com/")) {
System.out.println("url is valid");
} else {
System.out.println("url is invalid");
}
prints out "url is valid"
See Also:
* See Also: Uniform Resource Identifiers (URI): Generic Syntax See Also: version: $Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $ since: Validator 1.1 |
Field Summary | |
final public static int | ALLOW_2_SLASHES Allow two slashes in the path component of the URL. | final public static int | ALLOW_ALL_SCHEMES Allows all validly formatted schemes to pass validation instead of
supplying a set of valid schemes. | final public static int | NO_FRAGMENTS Enabling this options disallows any URL fragments. | protected String[] | defaultSchemes If no schemes are provided, default to this set. |
Constructor Summary | |
public | UrlValidator() Create a UrlValidator with default properties. | public | UrlValidator(String[] schemes) Behavior of validation is modified by passing in several strings options:
Parameters: schemes - Pass in one or more url schemes to consider valid, passing ina null will default to "http,https,ftp" being valid.If a non-null schemes is specified then all valid schemes mustbe specified. | public | UrlValidator(int options) Initialize a UrlValidator with the given validation options.
Parameters: options - The options should be set using the public constants declared inthis class. | public | UrlValidator(String[] schemes, int options) Behavour of validation is modified by passing in options:
Parameters: schemes - The set of valid schemes. Parameters: options - The options should be set using the public constants declared inthis class. |
Method Summary | |
protected int | countToken(String token, String target) Returns the number of times the token appears in the target.
Parameters: token - Token value to be counted. Parameters: target - Target value to count tokens in. | public boolean | isValid(String value) Checks if a field has a valid url address.
Parameters: value - The value validation is being performed on. | protected boolean | isValidAuthority(String authority) Returns true if the authority is properly formatted. | protected boolean | isValidFragment(String fragment) Returns true if the given fragment is null or fragments are allowed.
Parameters: fragment - Fragment value to validate. | protected boolean | isValidPath(String path) Returns true if the path is valid. | protected boolean | isValidQuery(String query) Returns true if the query is null or it's a properly formatted query string.
Parameters: query - Query value to validate. | protected boolean | isValidScheme(String scheme) Validate scheme. |
ALLOW_2_SLASHES | final public static int ALLOW_2_SLASHES(Code) | | Allow two slashes in the path component of the URL.
|
ALLOW_ALL_SCHEMES | final public static int ALLOW_ALL_SCHEMES(Code) | | Allows all validly formatted schemes to pass validation instead of
supplying a set of valid schemes.
|
NO_FRAGMENTS | final public static int NO_FRAGMENTS(Code) | | Enabling this options disallows any URL fragments.
|
defaultSchemes | protected String[] defaultSchemes(Code) | | If no schemes are provided, default to this set.
|
UrlValidator | public UrlValidator()(Code) | | Create a UrlValidator with default properties.
|
UrlValidator | public UrlValidator(String[] schemes)(Code) | | Behavior of validation is modified by passing in several strings options:
Parameters: schemes - Pass in one or more url schemes to consider valid, passing ina null will default to "http,https,ftp" being valid.If a non-null schemes is specified then all valid schemes mustbe specified. Setting the ALLOW_ALL_SCHEMES option willignore the contents of schemes. |
UrlValidator | public UrlValidator(int options)(Code) | | Initialize a UrlValidator with the given validation options.
Parameters: options - The options should be set using the public constants declared inthis class. To set multiple options you simply add them together. For example,ALLOW_2_SLASHES + NO_FRAGMENTS enables both of those options. |
UrlValidator | public UrlValidator(String[] schemes, int options)(Code) | | Behavour of validation is modified by passing in options:
Parameters: schemes - The set of valid schemes. Parameters: options - The options should be set using the public constants declared inthis class. To set multiple options you simply add them together. For example,ALLOW_2_SLASHES + NO_FRAGMENTS enables both of those options. |
countToken | protected int countToken(String token, String target)(Code) | | Returns the number of times the token appears in the target.
Parameters: token - Token value to be counted. Parameters: target - Target value to count tokens in. the number of tokens. |
isValid | public boolean isValid(String value)(Code) | | Checks if a field has a valid url address.
Parameters: value - The value validation is being performed on. A null value is considered invalid. true if the url is valid. |
isValidAuthority | protected boolean isValidAuthority(String authority)(Code) | | Returns true if the authority is properly formatted. An authority is the combination
of hostname and port. A null authority value is considered invalid.
Parameters: authority - Authority value to validate. true if authority (hostname and port) is valid. |
isValidFragment | protected boolean isValidFragment(String fragment)(Code) | | Returns true if the given fragment is null or fragments are allowed.
Parameters: fragment - Fragment value to validate. true if fragment is valid. |
isValidPath | protected boolean isValidPath(String path)(Code) | | Returns true if the path is valid. A null value is considered invalid.
Parameters: path - Path value to validate. true if path is valid. |
isValidQuery | protected boolean isValidQuery(String query)(Code) | | Returns true if the query is null or it's a properly formatted query string.
Parameters: query - Query value to validate. true if query is valid. |
isValidScheme | protected boolean isValidScheme(String scheme)(Code) | | Validate scheme. If schemes[] was initialized to a non null,
then only those scheme's are allowed. Note this is slightly different
than for the constructor.
Parameters: scheme - The scheme to validate. A null value is consideredinvalid. true if valid. |
|
|