public abstract class FormValidation extends IOException implements org.kohsuke.stapler.HttpResponse
Use one of the factory methods to create an instance, then return it from your doCheckXyz
method. (Via HttpResponse
, the returned object will render the result into StaplerResponse
.)
This way of designing form field validation allows you to reuse doCheckXyz()
methods
programmatically as well (by using kind
.
For typical validation needs, this class offers a number of validateXXX(...)
methods, such as
validateExecutable(String)
. FilePath
also has a number of validateXXX(...)
methods
that you may be able to reuse.
Also see doCheckCvsRoot
in CVSSCM
as an example.
This class extends IOException
so that it can be thrown from a method. This allows one to reuse
the checking logic as a part of the real computation, such as:
String getAntVersion(File antHome) throws FormValidation { if(!antHome.isDirectory()) throw FormValidation.error(antHome+" doesn't look like a home directory"); ... return IOUtils.toString(new File(antHome,"version")); } ... public FormValidation doCheckAntVersion(@QueryParameter String f) { try { return ok(getAntVersion(new File(f))); } catch (FormValidation f) { return f; } } ... public void perform(...) { String version = getAntVersion(antHome); ... }
Modifier and Type | Class and Description |
---|---|
static class |
FormValidation.CheckMethod
Builds up the check URL for the client-side JavaScript to call back.
|
static class |
FormValidation.FileValidator
Performs an application-specific validation on the given file.
|
static class |
FormValidation.Kind
Indicates the kind of result.
|
static class |
FormValidation.URLCheck
Convenient base class for checking the validity of URLs.
|
Modifier and Type | Field and Description |
---|---|
FormValidation.Kind |
kind |
Modifier and Type | Method and Description |
---|---|
static FormValidation |
aggregate(Collection<FormValidation> validations)
Aggregate multiple validations into one.
|
static FormValidation |
error(String message)
Sends out a string error message that indicates an error.
|
static FormValidation |
error(String format,
Object... args)
Sends out a string error message that indicates an error,
by formatting it with
String.format(String, Object[]) |
static FormValidation |
error(Throwable e,
String message)
Sends out a string error message, with optional "show details" link that expands to the full stack trace.
|
static FormValidation |
error(Throwable e,
String format,
Object... args) |
static FormValidation |
errorWithMarkup(String message)
Sends out an HTML fragment that indicates an error.
|
void |
generateResponse(org.kohsuke.stapler.StaplerRequest req,
org.kohsuke.stapler.StaplerResponse rsp,
Object node) |
static FormValidation |
ok() |
static FormValidation |
ok(String message) |
static FormValidation |
ok(String format,
Object... args) |
static FormValidation |
okWithMarkup(String message) |
abstract String |
renderHtml() |
static FormValidation |
respond(FormValidation.Kind kind,
String html)
Sends out an arbitrary HTML fragment as the output.
|
protected void |
respond(org.kohsuke.stapler.StaplerResponse rsp,
String html)
Sends out an arbitrary HTML fragment as the output.
|
static FormValidation |
validateBase64(String value,
boolean allowWhitespace,
boolean allowEmpty,
String errorMessage)
Makes sure that the given string is a base64 encoded text.
|
static FormValidation |
validateExecutable(String exe)
Makes sure that the given string points to an executable file.
|
static FormValidation |
validateExecutable(String exe,
FormValidation.FileValidator exeValidator)
Makes sure that the given string points to an executable file.
|
static FormValidation |
validateIntegerInRange(String value,
int lower,
int upper)
Make sure that the given string is an integer in the range specified by the lower and upper bounds (both inclusive)
|
static FormValidation |
validateNonNegativeInteger(String value)
Makes sure that the given string is a non-negative integer.
|
static FormValidation |
validatePositiveInteger(String value)
Makes sure that the given string is a positive integer.
|
static FormValidation |
validateRequired(String value)
Makes sure that the given string is not null or empty.
|
static FormValidation |
warning(String message) |
static FormValidation |
warning(String format,
Object... args) |
static FormValidation |
warning(Throwable e,
String message) |
static FormValidation |
warning(Throwable e,
String format,
Object... args) |
static FormValidation |
warningWithMarkup(String message) |
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
public final FormValidation.Kind kind
public static FormValidation error(String message)
message
- Human readable message to be sent. error(null)
can be used as ok()
.public static FormValidation warning(String message)
public static FormValidation ok(String message)
public static FormValidation ok()
public static FormValidation error(String format, Object... args)
String.format(String, Object[])
public static FormValidation warning(String format, Object... args)
public static FormValidation ok(String format, Object... args)
public static FormValidation error(Throwable e, String message)
Use this with caution, so that anonymous users do not gain too much insights into the state of the system, as error stack trace often reveals a lot of information. Consider if a check operation needs to be exposed to everyone or just those who have higher access to job/hudson/etc.
public static FormValidation warning(Throwable e, String message)
public static FormValidation error(Throwable e, String format, Object... args)
public static FormValidation warning(Throwable e, String format, Object... args)
@Nonnull public static FormValidation aggregate(@Nonnull Collection<FormValidation> validations)
public static FormValidation errorWithMarkup(String message)
This method must be used with care to avoid cross-site scripting attack.
message
- Human readable message to be sent. error(null)
can be used as ok()
.public static FormValidation warningWithMarkup(String message)
public static FormValidation okWithMarkup(String message)
public static FormValidation respond(FormValidation.Kind kind, String html)
public static FormValidation validateExecutable(String exe)
public static FormValidation validateExecutable(String exe, FormValidation.FileValidator exeValidator)
exeValidator
- If the validation process discovers a valid executable program on the given path,
the specified FormValidation.FileValidator
can perform additional checks (such as making sure
that it has the right version, etc.)public static FormValidation validateNonNegativeInteger(String value)
public static FormValidation validateIntegerInRange(String value, int lower, int upper)
value
- the value to checklower
- the lower bound (inclusive)upper
- the upper bound (inclusive)public static FormValidation validatePositiveInteger(String value)
public static FormValidation validateRequired(String value)
public static FormValidation validateBase64(String value, boolean allowWhitespace, boolean allowEmpty, String errorMessage)
allowWhitespace
- if you allow whitespace (CR,LF,etc) in base64 encodingallowEmpty
- Is empty string allowed?errorMessage
- Error message.public void generateResponse(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, Object node) throws IOException, javax.servlet.ServletException
generateResponse
in interface org.kohsuke.stapler.HttpResponse
IOException
javax.servlet.ServletException
public abstract String renderHtml()
protected void respond(org.kohsuke.stapler.StaplerResponse rsp, String html) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
Copyright © 2004–2019. All rights reserved.