保护Shiny numericInput免受负数影响

时间:2017-02-10 16:28:36

标签: r shiny

我超级棒的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 <- 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)

B的sliderInput是动态的(S / O到HubertL & BigDataScientist),但现在我需要保护A的输入不受负数的影响。

我怎么能做到这一点?

2 个答案:

答案 0 :(得分:0)

您只需要向min=0添加numericInput()参数即可。之后,它将不允许用户超过0.

答案 1 :(得分:0)

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

sys.path

我会在isValid_num的逻辑条件中添加is.integer(input $ num),这样用户就不会输入字符或浮动...