SurveyJS Survey Creator v2.4.1

Released: Dec 3, 2025

v2.4.1 中的更新

特性

Form Library: Async page navigation and data saving

  • Added support for asynchronous operations within the SurveyModel's onCurrentPageChanging and onCompleting event handlers. This is helpful when you need to run server-side validation, save intermediate data, or perform any other async workflow before allowing the survey to continue or complete.
  • To enable asynchronous behavior, return a Promise from the event handler. You can prevent the survey from completing or switching pages by setting options.allow to false, and use options.message to display an error or success notification.

Survey Creator: Specify a default question type for the Add Question button

  • By default, the "Add Question" button on the design surface adds a new Single-Line Input question. This release introduces the defaultAddQuestionType property, which lets you specify a different default question type.

New "None Of" Operator for Expressions

  • SurveyJS v2.4.1 adds a new operator to the list of supported expression operators. The noneof operator compares a value with an array and returns true if the value is absent, or compares two arrays and returns true if the first array contains none of the values in the second.

修補程式

Form Library

  • Serializer.generateSchema() doesn't allow strings for itemvalue arrays.
  • [PDF Generator] PDF document is not generated when the onChoicesLazyLoad event handler is not attached to a SurveyPDF instance.
  • [Survey Creator] File Upload: "Custom" option cannot be removed from "Accepted file categories" unless the custom file extensions are removed first.
  • Exception occurs in input-per-page mode when survey.data is set.
  • "Set Value" trigger fails when dependent on values set by another "Set Value" trigger.

Survey Creator

  • Property Grid: Copying a trigger expression accidentally starts drag action.
  • Property Grid: Clarify that validation expression defines when the value is valid, not invalid.
  • [Angular] Infinite loop exception occurs.