Как удалить поля между textInput и ошибкой массажа - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь создать приложение с проверкой полей и возникают проблемы с полями.

Проблема в том, что я не могу сделать меньшее поле между textInput (электронная почта) и uiOutput (сообщение об ошибке) меньшим. Я уже пытался изменить поля и отступ сообщения об ошибке, но это не помогает.

Что мне нужно получить в этой упрощенной версии:

  1. Между ними есть два поля с нормальным расстоянием (15 пикселей). И мне нужно держать то же расстояние, когда нет сообщения об ошибке.

enter image description here

Когда я нажимаю кнопку «Регистрация», она подтверждается, и если имя пользователя пусто, появляется сообщение об ошибке:

enter image description here

Если я проверяю код в в моем браузере отображается поле с полями 15 пикселей:

enter image description here

Код:

library(shiny)
library(shinyalert)

ui <- fluidPage(
  titlePanel("Error test"),
  tags$head(tags$style(HTML("
        /* errors */
        .shiny-output-error-validation {
        color: #ff0000;
        font-size: 13px;
        margin-bottom: 7px;
        margin-top: 0px;
        padding-top: 0px;
        font-weight: bold
        }
      "))),

  mainPanel(
    textInput("user_name", "Username (Email):", ),
    uiOutput("error_email"),
    textInput("bla", "Test:"),
        actionButton("register_button", "Register")
  )
)

server <- function(input, output) {
  observeEvent(input$register_button, {
    if (input$user_name != "") {
      shinyalert("Your registration was successfull")
    } else {
      output$error_email <- renderUI({

          validate(
          need(
            input$user_name != "",
            paste("Email Address: Please Input a valid E-mail address")
          )
        )
      })
    }
  })
}

shinyApp(ui = ui, server = server)

1 Ответ

4 голосов
/ 25 марта 2020

Применение отрицательного поля на элементе сообщения об ошибке может быть правильным решением этой проблемы. Пожалуйста, проверьте код ниже.

Если класс в элементе сообщения об ошибке 'errormessage', следующий код будет css.

.errormessage {
margin-top: -15px;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...