Survey Now v2.3.8
Released: September 23, 2025
Survey Now v2.3.8 introduces an integration example with Grafana, adds support for validation warnings and informational notes alongside errors, enables dynamic control over which elements can be added in Survey Creator, and provides a new Dashboard option to lock visualizer types.
Grafana Integration Example
Grafana is an open-source platform for monitoring and visualizing metrics. We have created a GitHub repository with an example showing how to integrate Survey Now with Grafana, calculate statistics from user responses, and visualize them.
The example includes the following parts:
- Survey Now for survey data models
- Node.js + MongoDB backend for storing surveys and user responses, computing statistics, and handling Grafana queries
- NLP service for sentiment and text analysis
- Redis caching for faster performance
- Grafana plugin for visualizing survey data in real time
Validation Warnings and Informational Notes
Survey Now now supports validation warnings and informational notes in addition to errors. Warnings highlight potential issues, and informational notes provide guidance, but neither blocks respondents from continuing the survey.
To display a warning or informational note, define a validator with the notificationType property set to "warning" or "info". For best results, enable immediate validation by setting checkErrorsMode to "onValueChanged":
{
"checkErrorsMode": "onValueChanged",
"elements": [{
"type": "comment",
"name": "feedback",
"title": "Please leave your feedback",
"validators": [{
"type": "text",
"minLength": 10,
"text": "Your feedback is very short. Consider adding more details.",
"notificationType": "warning"
}]
}, {
"type": "text",
"name": "email",
"title": "Email address",
"validators": [{
"type": "expression",
"expression": "false", // Always fails
"text": "We'll get in touch with you using this email.",
"notificationType": "info"
}]
}]
}
If multiple notification types are eligible to be displayed for a question, only the strongest type is shown. Warnings appear only after all errors are resolved, and notes appear only when there are no errors or warnings.
[Survey Creator] Dynamically Restrict Which Elements Can Be Added
Survey Creator v2.3.8 introduces the onAllowAddElement event. This event is raised before adding an element to a survey and allows you to cancel the addition.
For example, the following code disallows users to add more than three Dynamic Panels to a survey:
// ...
// Omitted: `SurveyCreatorModel` creation
// ...
creator.onAllowAddElement.add((_, options) => {
if (options.name === "paneldynamic") {
// Retrieve all visible questions, including design-time and nested
const questions = creator.survey.getAllQuestions(true, true, true);
questions.filter(q => q.getType() === "paneldynamic");
options.allow = questions.length < 3;
}
});
[Dashboard] Disallow Changing Visualizer Types in the UI
Survey Now Dashboard introduces the allowChangeVisualizerType property. Set it to false to hide the UI controls for switching visualizer types:
import { VisualizationPanel } from "survey-analytics";
const surveyQuestions = { /* Survey questions */ };
const surveyResults = [ /* Survey responses */ ];
const vizPanelOptions = {
allowChangeVisualizerType: false
};
const vizPanel = new VisualizationPanel(surveyQuestions, surveyResults, vizPanelOptions);
New Demo
Bug Fixes and Minor Enhancements
Form Library
- Expressions: No API to access comments for individual choice options in a Checkboxes question (#10378)
- Multi-Select Dropdown (Tag Box) doesn't load choice display values when
allowCustomChoicesis enabled andchoicesByUrlcontainsvalueNameandtitleName(#10351) - Dropdown in read-only mode: Selected option’s display value is not updated when loaded lazily via
onGetChoiceDisplayValue(#10370) - Composite question type: Extra numbering symbol appears on the design surface in Survey Creator (#10389)
- Single-Select Matrix: Hidden rows are validated when
eachRowRequiredis enabled (#10395) - Numeric Single-Line Input: Step validation fails for certain decimal values (#10393)
- Cannot insert spaces into the Other input field when
textUpdateModeis"onTyping"(#10402) - Specialized question type built on Dynamic Panel: Panels disappear when entering field values (#10403)
Survey Creator
- Theme tab: Basic/Advanced header toggle stops working after theme reset (#7156)
showSidebar: truehas no effect on initial render on smaller screens (#7153)
Dashboard
- Composite question type panel ignores the
defaultQuestionTitleproperty (#627)
How to Update Survey Now Libraries in Your Application
Angular
npm i [email protected] [email protected] --save
npm i [email protected] [email protected] --save
npm i [email protected] --save
npm i [email protected] --save
React
npm i [email protected] [email protected] --save
npm i [email protected] [email protected] --save
npm i [email protected] --save
npm i [email protected] --save
Vue.js
npm i [email protected] [email protected] --save
npm i [email protected] [email protected] --save
npm i [email protected] --save
npm i [email protected] --save
HTML/CSS/JavaScript
<link href="https://unpkg.com/[email protected]/survey-core.min.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="https://unpkg.com/[email protected]/survey.core.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/[email protected]/survey-js-ui.min.js"></script>
<script src="https://unpkg.com/[email protected]/themes/index.min.js"></script>
<script src="https://unpkg.com/[email protected]/themes/index.min.js"></script>
<link href="https://unpkg.com/[email protected]/survey-creator-core.min.css" type="text/css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/survey-creator-core.min.js"></script>
<script src="https://unpkg.com/[email protected]/survey-creator-js.min.js"></script>
<link href="https://unpkg.com/[email protected]/survey.analytics.min.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/survey.analytics.min.js"></script>
<script src="https://unpkg.com/[email protected]/survey.pdf.min.js"></script>
<script src="https://unpkg.com/[email protected]/pdf-form-filler.min.js"></script>