Call sv_required()
to generate a validation function that ensures an input
value is present. By default, the definition of "is present" is based on
input_provided()
.
sv_required(message = "Required", test = input_provided)
The validation error message to be displayed if the test does not pass.
A single-argument function, or single-sided formula (using .
to
access the value to test), that returns TRUE
for success and FALSE
for
failure.
A function suitable for use as an
InputValidator$add_rule()
rule.
The sv_optional()
function, which takes a different approach to
field presence.
Other rule functions:
compose_rules()
,
sv_between()
,
sv_email()
,
sv_equal()
,
sv_gte()
,
sv_gt()
,
sv_in_set()
,
sv_integer()
,
sv_lte()
,
sv_lt()
,
sv_not_equal()
,
sv_numeric()
,
sv_optional()
,
sv_regex()
,
sv_url()
## Only run examples in interactive R sessions
if (interactive()) {
library(shiny)
library(shinyvalidate)
ui <- fluidPage(
textInput("name", "Name")
)
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: ensure that `input$name` is present,
# and return a terse validation message if not
iv$add_rule("name", sv_required())
# Finally, `enable()` the validation rules
iv$enable()
}
shinyApp(ui, server)
}
# There are some alternatives to the above example,
# and the following snippets can serve to replace
# the `iv$add_rule(...)` statement
# (1) Providing a custom message to display
# when validation fails:
# iv$add_rule("email", sv_required("An email is required"))
# (2) Providing a `test` argument to change
# the definition of "is present"; in this
# snippet, any non-NULL value will be accepted:
# iv$add_rule("choices", sv_required(test = is.null))