#set($responseIdentifier = $r.responseUniqueId($interaction))
#set($isBadResponse = $r.isBadResponse($interaction.responseIdentifier))
#set($isInvalidResponse = $r.isInvalidResponse($interaction.responseIdentifier))
#set($responseDeclaration = $r.getResponseDeclaration($interaction.responseIdentifier))
#set($responseInput = $r.getResponseValue($interaction.responseIdentifier))
#set($responseInputString = $r.toString($responseInput))
#set($checkJavaScript = $r.checkJavaScript($responseDeclaration,$interaction.patternmask))
#if($r.isTrue($isCorrectionHelp)) #end
0) onchange='$checkJavaScript' #end autocomplete="off" required="required"/>
#if($isBadResponse)
#if($responseDeclaration.cardinality.toQtiString() == "record")
$r.translate("error.textEntry.invalid.record")
#elseif($responseDeclaration.baseType == "FLOAT")
$r.translate("error.textEntry.invalid.float")
#else
$r.translate("error.textEntry.invalid")
#end
#end
#if($isInvalidResponse)
$r.translate("error.required.format")
#end
#if($r.isTrue($isCorrectionSolution) || $r.isTrue($isSolutionMode))
#set($alternativesString = $r.renderTextEntryAlternatives($interaction))
#if($r.isNotEmpty($alternativesString))
$alternativesString
#end
#end
$r.appendFlexiFormDirty("od_${responseIdentifier}")