The sv_integer()
function validates that a field is 'integer-like' with the
{value} %% 1 == 0
test. Very large values (generally with absolute exponent
values greater than 15) won't be validated correctly due to floating point
imprecision. By default, only a single, finite, not-missing, valid numbers
are allowed, but each of those criteria can be controlled via arguments.
sv_integer(
message = "An integer is required",
allow_multiple = FALSE,
allow_na = FALSE,
allow_nan = FALSE
)
The validation error message to use if a value is not an integer.
If FALSE
(the default), then the length of the input
vector must be exactly one; if TRUE
, then any length is allowed
(including a length of zero; use sv_required()
if one or more values
should be required).
If FALSE
(the default for both options), then any
NA
or NaN
element will cause validation to fail.
If FALSE
(the default for both options), then any
NA
or NaN
element will cause validation to fail.
A function suitable for use as an
InputValidator$add_rule()
rule.
The sv_numeric()
function, which tests whether a field value is
simply numeric.
Other rule functions:
compose_rules()
,
sv_between()
,
sv_email()
,
sv_equal()
,
sv_gte()
,
sv_gt()
,
sv_in_set()
,
sv_lte()
,
sv_lt()
,
sv_not_equal()
,
sv_numeric()
,
sv_optional()
,
sv_regex()
,
sv_required()
,
sv_url()
## Only run examples in interactive R sessions
if (interactive()) {
library(shiny)
library(shinyvalidate)
ui <- fluidPage(
textInput("count", "Count")
)
server <- function(input, output, session) {
# Validation rules are set in the server, start by
# making a new instance of an `InputValidator()`
iv <- InputValidator$new()
# Basic usage: `sv_integer()` works well with its
# defaults; a message will be displayed if the
# validation of `input$count` fails
iv$add_rule("count", sv_integer())
# Finally, `enable()` the validation rules
iv$enable()
}
shinyApp(ui, server)
}