【发布时间】:2023-03-19 11:42:01
【问题描述】:
我有一个dateRangeInput,我想阻止用户输入超过结束日期的开始日期和早于开始日期的结束日期。
我在 UI 中有我的dateRangeInput。然后,我将输入输入到 server 中的 observe 中,以验证并在用户输入结束日期之后的开始日期或开始日期之前的结束日期时使结束日期和开始日期相等。
如果违反了开始前结束或结束后开始条件,我无法弄清楚如何将修改后的开始日期或结束日期重新输入。
代码如下。这很简单。没有用于将值返回到输入的代码。输了。考虑过使用updateDateRangeInput,但似乎不对。
请帮忙。
我有我的 UI 代码:
ui <- fluidPage(
fluidRow(dateRangeInput(
inputId = "mu_date_range",
label = "Select Registration Date Range",
start = "2021-01-01",
end = Sys.Date(),
min = "2021-01-01",
max = Sys.Date(),
format = 'M yyyy',
startview = 'year',
separator = '-')
)
)
我在server 中添加了一个observe() 函数来检查我的日期的有效性:
server <- function(input, output, session) {
observe({
if(mu_date_range[1] <= mu_date_range[2]){
start <- mu_date_range[1]
}else{
start <- mu_date_range[2]
}
if(mu_date_range[2] >= mu_date_range[1]){
end <- mu_date_range[2]
}else{
end <- mu_date_range[1]
}
})
}
我不知道如何让这些验证日期返回输入。
【问题讨论】: