Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Validation of multiple choice with comments

  • rauno_s
  • rauno_s's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 9 months ago #109937 by rauno_s
Hi,

can anybody help (or point to an example) of how to validate a mandatory multiple-choice-with-comment type of question. Expression should validate that all checked options must have something (at least 5 characters) typed in the comment field.

thanks!
The topic has been locked.
  • tpartner
  • tpartner's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
9 years 9 months ago #110002 by tpartner
Replied by tpartner on topic Validation of multiple choice with comments
I'm not sure you can do that with Expression manager but you can with JavaScript.

Set up your survey to use JavaScript and add something like this to the source of the question:

Code:
<script type="text/javascript" charset="utf-8">  
  $(document).ready(function() {
 
    // Identify this question
    var thisQuestion = $('#question'+{QID}+'');
 
    // Interrupt the submit process
    $('#movenextbtn, #movesubmitbtn').bind('click', function () {
 
      // Reset the errors
      var commentError = 0;
      $('li.answer-item', thisQuestion).css('background-color', 'transparent');
 
      // Check for invalid comments
      $('input.checkbox:checked', thisQuestion).each(function(i) {
        var thisItem = $(this).closest('li.answer-item');
        var thisComment = $('input[type="text"]', thisItem);
        if($(thisComment).val().length < 6) {
          $(thisItem).css('background-color', 'pink');
          commentError = 1;
        }
      });
 
      // Comment failed so abort submit
      if(commentError == 1) {
        alert("Comments must be at least 5 characters.");
        return false;
      }
    });
 
  });
</script>

Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose