MulaiMulai sekarang secara gratis

Validasi bahwa pengguna telah membuat pilihan

Ingat dari video bahwa meskipun sering kali merupakan praktik yang baik untuk memilih nilai default untuk input selektor, jika ada yang sebaiknya dikecualikan, Anda dapat menampilkan pesan kesalahan kustom kepada pengguna untuk memberi tahu apa yang perlu mereka lakukan agar aplikasi berjalan dengan baik.

Kita melihat pada latihan sebelumnya bahwa tanpa nilai default untuk pickerInput(), plot menjadi kosong. Alih-alih plot kosong, pada latihan ini Anda akan menampilkan pesan kesalahan kustom yang memberi tahu pengguna agar membuat pilihan yang benar yang diperlukan agar aplikasi dapat berjalan.

Latihan ini adalah bagian dari kursus

Membangun Aplikasi Web dengan Shiny di R

Lihat Kursus

Petunjuk latihan

  • Tambahkan pesan kesalahan kustom yang akan ditampilkan secara default untuk memberi tahu pengguna bahwa mereka harus memilih input untuk kesehatan mental versus fisik.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

ui <- fluidPage(
  titlePanel("2014 Mental Health in Tech Survey"),
  sidebarPanel(
    sliderTextInput(
      inputId = "work_interfere",
      label = "If you have a mental health condition, do you feel that it interferes with your work?", 
      grid = TRUE,
      force_edges = TRUE,
      choices = c("Never", "Rarely", "Sometimes", "Often")
    ),
    checkboxGroupInput(
      inputId = "mental_health_consequence",
      label = "Do you think that discussing a mental health issue with your employer would have negative consequences?", 
      choices = c("Maybe", "Yes", "No"),
      selected = "Maybe"
    ),
    pickerInput(
      inputId = "mental_vs_physical",
      label = "Do you feel that your employer takes mental health as seriously as physical health?", 
      choices = c("Don't Know", "No", "Yes"),
      multiple = TRUE
    )    
  ),
  mainPanel(
    plotOutput("age")  
  )
)

server <- function(input, output, session) {
  output$age <- renderPlot({
    # MODIFY CODE BELOW: Add validation that user selected a 3rd input
    
    
    
    
    
    

    mental_health_survey %>%
      filter(
        work_interfere == input$work_interfere,
        mental_health_consequence %in% input$mental_health_consequence,
        mental_vs_physical %in% input$mental_vs_physical
      ) %>%
      ggplot(aes(Age)) +
      geom_histogram()
  })
}

shinyApp(ui, server)
Edit dan Jalankan Kode