R 保护闪亮的数字输入不受负数影响

R 保护闪亮的数字输入不受负数影响,r,shiny,R,Shiny,我的超级棒闪亮应用程序如下所示: library(shiny) ui <- fluidPage( numericInput(inputId = "A", label = "A", value = 5, step = 1), uiOutput("slider"), textOutput(outputId = "value") ) server <- function(input, output) { output$value <- render

我的超级棒闪亮应用程序如下所示:

library(shiny)

ui <- fluidPage(
    numericInput(inputId = "A", label = "A", value = 5, step = 1),
    uiOutput("slider"),
    textOutput(outputId = "value")
)

server <- function(input, output) {
    output$value <- renderText(paste0("A + B = ", input$A + input$B))
    output$slider <- renderUI({
        sliderInput(inputId = "B", label = "B", min = 0, max = 2*input$A, value = 5)
    })
}

shinyApp(ui = ui, server = server)
库(闪亮)

ui您只需将
min=0
参数添加到
numericInput()
。之后,它将不允许用户超过0

在numeriInput()中设置min参数并不能完全解决问题。它适用于鼠标输入,但不适用于键盘输入。您可以创建反应式验证,以检查数字输入是否符合您的标准,如下所示:

output$value <- if(isValid_num) renderText(paste0("A + B = ", input$A + input$B))

  isValid_num <- reactive({
     input$num > 0
  })

output$value您可以在
numericInput
中为ex
numericInput(inputId=“A”,label=“A”,value=5,step=1,min=0)设置