無効な入力時に数値入力ウィジェットの背景を赤に設定する次のコードを検討してください。
library(shiny)
ui <- shinyUI(
fluidPage(
column(12,
tags$style(HTML("input:invalid {background-color: #FFCCCC;}")),
numericInput("test", h5("Test value:"), value = 6, min = 0, max = 10, step = 2, width = '200px')
)
)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
ユーザーが「-1」、「11」、または「4」を入力すると、コードは期待どおりに機能します (最初の 2 つの例では無効で、3 番目の例では有効です)。
ただし、最小値と最大値の間の奇数を入力するとどうなるかを観察してください。コードは、入力が無効であると考えています。しかし、数値入力に対する 'step' 値が偶数であることに注意してください。これは、正しい数値は 0 から 10 の間だけでなく、2 の倍数でなければならないとコードが誤って考えていることを示唆しています。
これを証明するには、'step' オプションを削除するか、1 に変更すると、0 から 10 までの任意の (整数値の) 入力が機能します。
これはバグですか、回避策がありますか (つまり、「ステップ」値を維持しながら、最小値と最大値の間のすべての数値を許可することができます)、またはここに何か不足していますか?
「ステップ」値は、入力の検証ではなく、矢印が入力を増減する量を単に制御するという印象を受けました。