R/validate.R

Defines functions .isAnswered .validateIsAnswered .validateResult

.emptyResponseValue <- ""

.isAnswered <- function(input) {
    (!is.null(input)) && (!is.na(input)) && (input != .emptyResponseValue)
}

.validResult <- ""

.validateIsAnswered <- function(question, required) {
    result <- .validResult

    if (required) {
        domain <- shiny::getDefaultReactiveDomain()
        input <- domain$input
        questionInputId <- makeQuestionInputId(question$id)

        if (!.isAnswered(input[[questionInputId]])) {
            result <- "Response required."
        }
    }

    result
}

.validateResult <- function(question) {
    result <- .validResult

    if (!is.null(question$validate)) {
        result <- question$validate()
    }

    result
}
mtrybulec/interviewer documentation built on May 23, 2019, 8:20 a.m.