Difference between revisions of "Validate email specified as an open text of a single question"

From Catglobe Wiki
Jump to: navigation, search
m (Challenge)
m (Solution)
Line 9: Line 9:
  
 
==Solution==
 
==Solution==
 +
*Add the script below to the question's Javascript property
 +
*Locate the input text box and use <i>validateEmail</i> function to validate the email
 +
==Script==
 
<source lang=javascript>
 
<source lang=javascript>
 
var qLabel = "Q1";//question's label
 
var qLabel = "Q1";//question's label

Revision as of 04:07, 17 November 2009

Challenge

In order to secure my questionnaire's input
As a CGS writer
I want to validate an email specified as an open text of a single question

Example

Validate email - semi open question.png

Solution

  • Add the script below to the question's Javascript property
  • Locate the input text box and use validateEmail function to validate the email

Script

var qLabel = "Q1";//question's label
var openAnswerValue = 1;//the value of answer option which has open text
var ErrorMessage_InvalidEmail = "Invalid email.";//error message in your needed language
   
var oldQuestionCheck = this.questioncheck;
questioncheck = function()
{
   if (!oldQuestionCheck())
   return false;
   
   var email = $("input[name='QUESTION." + qLabel + ".Open." + openAnswerValue +"']").val();
   
   if (!validateEmail(email))
   {
      ErrorMessages.getInstance().showErrorMessage(ErrorMessage_InvalidEmail);
      return false;
   }
   
   return true;
}