Actions

ExpressionScript Engine - Quick start guide/bg: Difference between revisions

From LimeSurvey Manual

(Created page with "ExpressionScript Engine - Кратко ръководство за стартиране")
 
No edit summary
 
(47 intermediate revisions by the same user not shown)
Line 3: Line 3:




=Quick start guide=
=Ръководство за бърз старт=




Within [https://www.limesurvey.org LimeSurvey], you can further customize your surveys via the usage of the ExpressionScript (short: ES).
В рамките на [https://www.limesurvey.org LimeSurvey] можете допълнително да персонализирате анкетите си чрез използването на ExpressionScript (накратко: ES).
Sidenote: "ExpressionScript was named Expression Manager (EM) in earlier version. If you read Expression Manager somewhere, it is just the old name of ES."
Странична бележка: „ExpressionScript беше наречен Expression Manager (EM) в по-ранна версия. Ако сте чели някъде Expression Manager, това е просто старото име на ES."


ES can be used to specify the following:
ES може да се използва за указване на следното:


# '''Navigation/Branching''' - allows a respondent's answers to change the order in which the questions are displayed;
# '''Навигация/Разклоняване''' - позволява на отговорите на респондента да променят реда, в който се показват въпросите;
# '''Tailoring/Piping''' - helps you phrase the question (such as referring to prior answers, or conjugating sentences based upon the age or gender of your subjects) or how to generate custom reports (like assessment scores or tailored advice);
# '''Скрояване/Разклоняване''' - помага ви да формулирате въпроса (като препращане към предишни отговори или свързване на изречения въз основа на възрастта или пола на вашите субекти) или как да генерирате персонализирани отчети (като оценки за оценка или персонализирани съвети);
# '''Validation''' - ensures that answers pass certain criteria, like min and max values or a certain input pattern.
# '''Валидиране''' - гарантира, че отговорите преминават определени критерии, като минимални и максимални стойности или определен модел на въвеждане.


ES provides an intuitive way to specify the logic for each of those features. Nearly anything that you can write as a standard mathematical equation is a valid expression.  
ES предоставя интуитивен начин за определяне на логиката за всяка от тези функции. Почти всичко, което можете да напишете като стандартно математическо уравнение, е валиден израз.  


ES currently provides access to 70 functions and it can be easily extended to support more. It also lets you access you
В момента ES предоставя достъп до 70 функции и може лесно да бъде разширен, за да поддържа повече. Той също така ви позволява да осъществявате достъп до вашите
variables using human-readable variable names (rather than [[SGQA_identifier|SGQA names]]).
променливи, като използвате четими за човека имена на променливи (вместо [[SGQA_identifier|SGQA имена]]).


The upcoming sections show the main places where the ES is used.
Предстоящите раздели показват основните места, където се използва ES.




==Relevance (Controlling Navigation/Branching)==
==Уместност (Контролиране на навигация/разклоняване)==




Some surveys use "Goto Logic", such that if you answer Question1 with option C, you are redirected to Question5. This approach is very limited since it is hard to validate it. Moreover, it easily breaks when you have to reorder questions. On the other hand, ES uses [https://en.wikipedia.org/wiki/Boolean_algebra Boolean relevance equations] to specify all the conditions under which a question might be valid. If the question is relevant, then the question is shown, otherwise, it is not applicable, and the value "NULL" is stored in the database.  
Някои проучвания използват "Goto Logic", така че ако отговорите на Въпрос 1 с опция C, ще бъдете пренасочени към Въпрос 5. Този подход е много ограничен, тъй като е трудно да се потвърди. Освен това лесно се разваля, когато трябва да пренаредите въпросите. От друга страна, ES използва [https://en.wikipedia.org/wiki/Boolean_algebra булеви уравнения за релевантност], за да посочи всички условия, при които даден въпрос може да е валиден. Ако въпросът е уместен, той се показва, в противен случай не е приложим и стойността „NULL“ се съхранява в базата данни.  


<div class='simplebox'> '''Note:''' This is similar to what can be done via the [[Setting conditions|Conditions editor]], but ES lets you easily specify much more complex and powerful criteria (and lets you use the variable name rather than SGQA identifiers).</div>
<div class='simplebox'>'''Забележка:''' Това е подобно на това, което може да се направи чрез [[Setting conditions|Редактор на условия]], но ES ви позволява лесно да зададете много по-сложни и мощни критерии (и ви позволява да използвате името на променливата вместо SGQA идентификатори).</div>




Line 34: Line 34:




To better understand the relevance concept, let's focus on the following survey which computes the Body Mass Index (BMI) of survey respondents. To download it, click on the following link: [[Media:LS3_em_tailoring.zip|Body Mass Index survey example]].
За да разберем по-добре концепцията за уместност, нека се съсредоточим върху следното проучване, което изчислява индекса на телесна маса (ИТМ) на респондентите в проучването. За да го изтеглите, щракнете върху следната връзка: [[Media:LS3_em_tailoring.zip|Пример за изследване на индекса на телесна маса]].


The relevance equation is shown below in the '''Relevance''' column after the variable name. The relevance values of weight, weight_units, height, and height_units are all 1 (default value), meaning that those questions are always displayed. However, the relevance for BMI is {!is_empty(height) and !is_empty(weight)}, which means that BMI will only be computed if the subject enters a value for both height and weight (thereby avoiding the risk of getting a zero error). Also, question "Report" is only shown if the respondent answers all four main questions (height, heightunits, weight, weightunits).
Уравнението за релевантност е показано по-долу в колоната '''Релевантност''' след името на променливата. Стойностите за релевантност на теглото, теглото_единици, височината и височината са всички 1 (стойност по подразбиране), което означава, че тези въпроси винаги се показват. Уместността за ИТМ обаче е {!is_empty(height) и !is_empty(weight)}, което означава, че ИТМ ще бъде изчислен само ако субектът въведе стойност както за височината, така и за теглото (по този начин се избягва рискът от получаване на нулева грешка ). Освен това въпросът „Отчет“ се показва само ако респондентът отговори на четирите основни въпроса (височина, единици за височина, тегло, единици за тегло).




Line 42: Line 42:




<div class="simplebox"> [[File:help.png]] '''Note:''' The above image comes from the [[Show logic file|survey logic file]] which allows you to look for syntax errors before activating the survey.</div>
<div class="simplebox">[[Файл:help.png]] '''Забележка:''' Изображението по-горе идва от [[Показване на логически файл|логически файл на анкетата]], който ви позволява да търсите синтактични грешки, преди да активирате анкетата.</div>




Relevance is shown and editable when:
Уместността се показва и може да се редактира, когато:
*you wish to view/edit question-level relevance
*искате да видите/редактирате уместността на ниво въпрос
*you wish to view/edit group-level relevance
*искате да видите/редактирате уместността на ниво група




===Viewing / Editing Question-Level Relevance===
===Преглед/Редактиране на уместност на ниво въпрос===




This equation computes the Body Mass Index (BMI). It is only asked if the person enters their height and weight.
Това уравнение изчислява индекса на телесна маса (ИТМ). Пита се само дали човекът въвежда ръста и теглото си.




Line 59: Line 59:




This is the edit screen for the "BMI" question.
Това е екранът за редактиране на въпроса "ИТМ".




Line 65: Line 65:




Note that you do not use the curly braces when you enter a relevance equation.
Обърнете внимание, че не използвате фигурните скоби, когато въвеждате уравнение за релевантност.




===Viewing / Editing Group-Level Relevance===
===Преглед/редактиране на уместност на ниво група===




Let's focus now on another example - a simple census survey. To download it, click on the following link: [[Media:LS3_group_relevance.zip|Census survey example]].  
Нека сега се съсредоточим върху друг пример - просто проучване от преброяване. За да го изтеглите, щракнете върху следната връзка: [[Media:LS3_group_relevance.zip|Пример за проучване при преброяване]].  


The first page asks how many people live with you and stores that in the "cohabs" variable. This page is only shown if you have more than one cohabitant (it is shown for the second person cohabitating with you). Also, p2name, p2age. p2sum are displayed only if the question before each of them contains a response.
Първата страница пита колко души живеят с вас и съхранява това в променливата "cohabs". Тази страница се показва само ако имате повече от един съжител (показва се за втория съжител с вас). Също така, p2name, p2age. p2sum се показват само ако въпросът преди всеки от тях съдържа отговор.




Line 79: Line 79:




So, the group also has question-level relevance criteria, such that some questions only appear if you answered certain questions before them (e.g., p2age is displayed if p2name was answered). ES combines the Group and Question-level relevance for you. '''Questions in a group are only asked if the group as a whole is relevant. Then, only the subset of questions within the group that are relevant are asked.'''
Така че групата също има критерии за уместност на ниво въпрос, така че някои въпроси се появяват само ако сте отговорили на определени въпроси преди тях (напр. p2age се показва, ако е отговорено p2name). ES съчетава уместността на ниво група и въпрос за вас. '''Въпроси в група се задават само ако групата като цяло е подходяща. След това се задават само подмножеството въпроси в рамките на групата, които са подходящи.''


Here is the screenshot for editing the group-level relevance of ''Cohabitant 2'':
Ето екранната снимка за редактиране на уместността на ниво група на ''Съжител 2'':




Line 87: Line 87:




Note that you do not use the curly braces when you enter a relevance equation.
Обърнете внимание, че не използвате фигурните скоби, когато въвеждате уравнение за релевантност.


==Tailoring/Piping==
==Шиване/Пипинг==




ES lets you easily do simple and complex conditional tailoring. Sometimes you just need a simple substitution, like saying, "You said you purchased <nowiki>[</nowiki>Product]. What did you like best about it?". Sometimes you need conditional substitution like "<nowiki>[</nowiki>Mr./Mrs.] <nowiki>[</nowiki>LastName], would you be willing to complete our survey?". In this case, you want to use "Mr. or Mrs." based on the person's gender. Other times you need even more complex substitution (such as based upon a mathematical computation). ES supports each of these types of tailoring/piping.
ES ви позволява лесно да правите просто и сложно условно шиене. Понякога просто се нуждаете от проста замяна, като да кажете: „Казахте, че сте купили<nowiki> [</nowiki> продукт]. Какво ви хареса най-много в него?". Понякога имате нужда от условно заместване като "<nowiki> [</nowiki> Г-н г-жа.]<nowiki> [</nowiki> LastName], бихте ли искали да попълните нашата анкета?". В този случай искате да използвате "Mr. или г-жа" въз основа на пола на лицето. Друг път се нуждаете от дори по-сложно заместване (като например въз основа на математическо изчисление). ES поддържа всеки от тези типове шиене/тръбопроводи.




===Conditional Equations===
===Условни уравнения===




The Body Mass Index example shows the ability to compute a person's BMI, even while letting them enter their height and weight in two different units (cms vs inches and kgs vs lbs):
Примерът с индекса на телесна маса показва способността да се изчисли ИТМ на човек, дори когато му позволявате да въведе своята височина и тегло в две различни единици (cms срещу инчове и kgs срещу lbs):




Line 104: Line 104:




In this case, weightkg is {if(weightunits == "kg", weight, weight * 0.453592)}. This "if()" function means that if the subject enters the weight using kilograms, use that value, otherwise multiply the entered value (pounds is the alternative) by 0.453592 to convert it to kilograms. The heightm variable uses a similar approach to compute the person's height in meters (height in cms/100), even if he has entered his height in inches (1 meter=3.28084 inches).
В този случай теглото kg е {if(weightunits == "kg", тегло, тегло * 0,453592)}. Тази функция "if()" означава, че ако субектът въведе теглото в килограми, използвайте тази стойност, в противен случай умножете въведената стойност (паунда е алтернативата) по 0,453592, за да я преобразувате в килограми. Променливата heightm използва подобен подход за изчисляване на височината на човека в метри (ръст в см/100), дори ако той е въвел височината си в инчове (1 метър=3,28084 инча).


BMI is computed as: {weightkg / (heightm * heightm)}.
ИТМ се изчислява като: {теглоkg / (височинаm * височинаm)}.


Lastly, the report conditionally tailors the message for the subject, telling her what he entered. (e.g., "You said you are 2 meters tall and weight 70 kg.")
И накрая, докладът условно приспособява съобщението за субекта, като й казва какво е въвел. (напр. „Казахте, че сте висок 2 метра и тежите 70 кг.)


In the below image, weightstatus uses nested "if()" statements to categorize the person as underweight to severely obese. You can see its equation by checking its logic:
В изображението по-долу теглото използва вложени изрази „if()“, за да категоризира лицето като с поднормено тегло до тежко затлъстяване. Можете да видите уравнението му, като проверите логиката му:




Line 116: Line 116:




From the edit window for this question, you can see two things:
От прозореца за редактиране на този въпрос можете да видите две неща:
#Tailoring must surround expressions with curly braces
#Tailoring трябва да огражда изразите с фигурни скоби
#Expressions can span multiple lines if, as in this case, you want to make it easier to read the nested conditional logic.
#Изразите могат да обхващат няколко реда, ако, както в този случай, искате да улесните четенето на вложена условна логика.




Line 124: Line 124:




===Tailored Questions, Answers, and Reports===
===Персонализирани въпроси, отговори и отчети===




<div class="simplebox">[[File:help.png]] '''Note:''' Dynamic tailoring may not work if answer options are made available in select boxes on the same question page. This results from the fact that tailoring inserts a <nowiki><span></nowiki> tag which is not valid inside select options.</div>
<div class="simplebox">[[Файл:help.png]] '''Забележка:''' Динамичното приспособяване може да не работи, ако опциите за отговор са налични в полетата за избор на същата страница с въпроси. Това се дължи на факта, че шивашките вложки a<nowiki></nowiki> <span>таг, който не е валиден в опциите за избор.</span>


The BMI report looks like this:
Докладът за ИТМ изглежда така:




Line 135: Line 135:




Here is the edit window for the same question.
Ето прозореца за редактиране на същия въпрос.




Line 141: Line 141:




Anything within curly braces is treated as an expression, being syntax-highlighted (color coded) in the prior image. If you have any typos (such as misspelled or undefined variable names or functions), ES would show an error. In our below example:
Всичко във фигурни скоби се третира като израз, като е синтаксисно маркирано (цветно кодирано) в предишното изображение. Ако имате правописни грешки (като грешно изписани или недефинирани имена на променливи или функции), ES ще покаже грешка. В нашия пример по-долу:
* heightunit.shown is an undefined variable name (it is actually heightunits.shown) and
* heightunit.shown е недефинирано име на променлива (това всъщност е heightunits.shown) и
* "rnd()" is an undefined function (the proper function name is "round()").  
* "rnd()" е недефинирана функция (правилното име на функцията е "round()" ).  


In both cases, the errors are located within a red box to make it easier to spot and fix them.
И в двата случая грешките са разположени в червено поле, за да ги забележите и поправите по-лесно.




Line 151: Line 151:




You can also see that you can quickly create complex reports, such as a table of entered values or tailored advice.
Можете също така да видите, че можете бързо да създавате сложни отчети, като например таблица с въведени стойности или персонализирани съвети.


Please remember that all tailoring must surround expressions with curly braces so that LimeSurvey knows which parts of the question are free text and which should be parsed by the ExpressionScript engine.
Моля, не забравяйте, че всяко приспособяване трябва да обгражда изрази с фигурни скоби, така че LimeSurvey да знае кои части от въпроса са свободен текст и кои трябва да бъдат анализирани от ExpressionScript двигателя.




==Validation==
==Потвърждение==




ES controls how most of the advanced question options work. These control aspects like min/max numbers of answers, min/max individual values, min/max sum values, and checking that entered values match specified string patterns. Any value in one of those fields is considered an expression, so you can have min/max criteria with complex conditional relationships to other questions.
ES контролира как работят повечето от разширените опции за въпроси. Тези контролни аспекти като минимален/максимален брой отговори, минимални/максимални индивидуални стойности, минимални/максимални сумарни стойности и проверка дали въведените стойности съответстват на определени модели на низове. Всяка стойност в едно от тези полета се счита за израз, така че можете да имате минимални/максимални критерии със сложни условни връзки с други въпроси.


In all of these cases, since the advanced question attribute is always considered an expression, you do not use curly braces when specifying it.
Във всички тези случаи, тъй като атрибутът за разширен въпрос винаги се счита за израз, вие не използвате фигурни скоби, когато го посочвате.


The [[ExpressionScript sample surveys|sample surveys]] page shows many working examples containing a variety of validation expressions.
Страницата [[ExpressionScript примерни анкети|примерни анкети]] показва много работещи примери, съдържащи различни изрази за валидиране.


=ExpressionScript - presentation=
=ExpressionScript - представяне=




To find out more about ExpressionScript and how you can use different expressions to enhance your survey, please click on the following [https://manual.limesurvey.org/ExpressionScript_-_Presentation link].
За да научите повече за ExpressionScript и как можете да използвате различни изрази, за да подобрите вашето проучване, моля, щракнете върху следната [https://manual.limesurvey.org/ExpressionScript_-_Presentation връзка].

Latest revision as of 10:40, 23 November 2023


Ръководство за бърз старт

В рамките на LimeSurvey можете допълнително да персонализирате анкетите си чрез използването на ExpressionScript (накратко: ES). Странична бележка: „ExpressionScript беше наречен Expression Manager (EM) в по-ранна версия. Ако сте чели някъде Expression Manager, това е просто старото име на ES."

ES може да се използва за указване на следното:

  1. Навигация/Разклоняване - позволява на отговорите на респондента да променят реда, в който се показват въпросите;
  2. Скрояване/Разклоняване - помага ви да формулирате въпроса (като препращане към предишни отговори или свързване на изречения въз основа на възрастта или пола на вашите субекти) или как да генерирате персонализирани отчети (като оценки за оценка или персонализирани съвети);
  3. Валидиране - гарантира, че отговорите преминават определени критерии, като минимални и максимални стойности или определен модел на въвеждане.

ES предоставя интуитивен начин за определяне на логиката за всяка от тези функции. Почти всичко, което можете да напишете като стандартно математическо уравнение, е валиден израз.

В момента ES предоставя достъп до 70 функции и може лесно да бъде разширен, за да поддържа повече. Той също така ви позволява да осъществявате достъп до вашите променливи, като използвате четими за човека имена на променливи (вместо SGQA имена).

Предстоящите раздели показват основните места, където се използва ES.


Уместност (Контролиране на навигация/разклоняване)

Някои проучвания използват "Goto Logic", така че ако отговорите на Въпрос 1 с опция C, ще бъдете пренасочени към Въпрос 5. Този подход е много ограничен, тъй като е трудно да се потвърди. Освен това лесно се разваля, когато трябва да пренаредите въпросите. От друга страна, ES използва булеви уравнения за релевантност, за да посочи всички условия, при които даден въпрос може да е валиден. Ако въпросът е уместен, той се показва, в противен случай не е приложим и стойността „NULL“ се съхранява в базата данни.

Забележка: Това е подобно на това, което може да се направи чрез Редактор на условия, но ES ви позволява лесно да зададете много по-сложни и мощни критерии (и ви позволява да използвате името на променливата вместо SGQA идентификатори).




За да разберем по-добре концепцията за уместност, нека се съсредоточим върху следното проучване, което изчислява индекса на телесна маса (ИТМ) на респондентите в проучването. За да го изтеглите, щракнете върху следната връзка: Пример за изследване на индекса на телесна маса.

Уравнението за релевантност е показано по-долу в колоната Релевантност след името на променливата. Стойностите за релевантност на теглото, теглото_единици, височината и височината са всички 1 (стойност по подразбиране), което означава, че тези въпроси винаги се показват. Уместността за ИТМ обаче е {!is_empty(height) и !is_empty(weight)}, което означава, че ИТМ ще бъде изчислен само ако субектът въведе стойност както за височината, така и за теглото (по този начин се избягва рискът от получаване на нулева грешка ). Освен това въпросът „Отчет“ се показва само ако респондентът отговори на четирите основни въпроса (височина, единици за височина, тегло, единици за тегло).



Файл:help.png Забележка: Изображението по-горе идва от логически файл на анкетата, който ви позволява да търсите синтактични грешки, преди да активирате анкетата.


Уместността се показва и може да се редактира, когато:

  • искате да видите/редактирате уместността на ниво въпрос
  • искате да видите/редактирате уместността на ниво група


Преглед/Редактиране на уместност на ниво въпрос

Това уравнение изчислява индекса на телесна маса (ИТМ). Пита се само дали човекът въвежда ръста и теглото си.



Това е екранът за редактиране на въпроса "ИТМ".



Обърнете внимание, че не използвате фигурните скоби, когато въвеждате уравнение за релевантност.


Преглед/редактиране на уместност на ниво група

Нека сега се съсредоточим върху друг пример - просто проучване от преброяване. За да го изтеглите, щракнете върху следната връзка: Пример за проучване при преброяване.

Първата страница пита колко души живеят с вас и съхранява това в променливата "cohabs". Тази страница се показва само ако имате повече от един съжител (показва се за втория съжител с вас). Също така, p2name, p2age. p2sum се показват само ако въпросът преди всеки от тях съдържа отговор.



Така че групата също има критерии за уместност на ниво въпрос, така че някои въпроси се появяват само ако сте отговорили на определени въпроси преди тях (напр. p2age се показва, ако е отговорено p2name). ES съчетава уместността на ниво група и въпрос за вас. 'Въпроси в група се задават само ако групата като цяло е подходяща. След това се задават само подмножеството въпроси в рамките на групата, които са подходящи.

Ето екранната снимка за редактиране на уместността на ниво група на Съжител 2:



Обърнете внимание, че не използвате фигурните скоби, когато въвеждате уравнение за релевантност.

Шиване/Пипинг

ES ви позволява лесно да правите просто и сложно условно шиене. Понякога просто се нуждаете от проста замяна, като да кажете: „Казахте, че сте купили [ продукт]. Какво ви хареса най-много в него?". Понякога имате нужда от условно заместване като " [ Г-н г-жа.] [ LastName], бихте ли искали да попълните нашата анкета?". В този случай искате да използвате "Mr. или г-жа" въз основа на пола на лицето. Друг път се нуждаете от дори по-сложно заместване (като например въз основа на математическо изчисление). ES поддържа всеки от тези типове шиене/тръбопроводи.


Условни уравнения

Примерът с индекса на телесна маса показва способността да се изчисли ИТМ на човек, дори когато му позволявате да въведе своята височина и тегло в две различни единици (cms срещу инчове и kgs срещу lbs):



В този случай теглото kg е {if(weightunits == "kg", тегло, тегло * 0,453592)}. Тази функция "if()" означава, че ако субектът въведе теглото в килограми, използвайте тази стойност, в противен случай умножете въведената стойност (паунда е алтернативата) по 0,453592, за да я преобразувате в килограми. Променливата heightm използва подобен подход за изчисляване на височината на човека в метри (ръст в см/100), дори ако той е въвел височината си в инчове (1 метър=3,28084 инча).

ИТМ се изчислява като: {теглоkg / (височинаm * височинаm)}.

И накрая, докладът условно приспособява съобщението за субекта, като й казва какво е въвел. (напр. „Казахте, че сте висок 2 метра и тежите 70 кг.“)

В изображението по-долу теглото използва вложени изрази „if()“, за да категоризира лицето като с поднормено тегло до тежко затлъстяване. Можете да видите уравнението му, като проверите логиката му:



От прозореца за редактиране на този въпрос можете да видите две неща:

  1. Tailoring трябва да огражда изразите с фигурни скоби
  2. Изразите могат да обхващат няколко реда, ако, както в този случай, искате да улесните четенето на вложена условна логика.



Персонализирани въпроси, отговори и отчети

Файл:help.png Забележка: Динамичното приспособяване може да не работи, ако опциите за отговор са налични в полетата за избор на същата страница с въпроси. Това се дължи на факта, че шивашките вложки a таг, който не е валиден в опциите за избор.

Докладът за ИТМ изглежда така:



Ето прозореца за редактиране на същия въпрос.



Всичко във фигурни скоби се третира като израз, като е синтаксисно маркирано (цветно кодирано) в предишното изображение. Ако имате правописни грешки (като грешно изписани или недефинирани имена на променливи или функции), ES ще покаже грешка. В нашия пример по-долу:

  • heightunit.shown е недефинирано име на променлива (това всъщност е heightunits.shown) и
  • "rnd()" е недефинирана функция (правилното име на функцията е "round()" ).

И в двата случая грешките са разположени в червено поле, за да ги забележите и поправите по-лесно.



Можете също така да видите, че можете бързо да създавате сложни отчети, като например таблица с въведени стойности или персонализирани съвети.

Моля, не забравяйте, че всяко приспособяване трябва да обгражда изрази с фигурни скоби, така че LimeSurvey да знае кои части от въпроса са свободен текст и кои трябва да бъдат анализирани от ExpressionScript двигателя.


Потвърждение

ES контролира как работят повечето от разширените опции за въпроси. Тези контролни аспекти като минимален/максимален брой отговори, минимални/максимални индивидуални стойности, минимални/максимални сумарни стойности и проверка дали въведените стойности съответстват на определени модели на низове. Всяка стойност в едно от тези полета се счита за израз, така че можете да имате минимални/максимални критерии със сложни условни връзки с други въпроси.

Във всички тези случаи, тъй като атрибутът за разширен въпрос винаги се счита за израз, вие не използвате фигурни скоби, когато го посочвате.

Страницата примерни анкети показва много работещи примери, съдържащи различни изрази за валидиране.

ExpressionScript - представяне

За да научите повече за ExpressionScript и как можете да използвате различни изрази, за да подобрите вашето проучване, моля, щракнете върху следната връзка.