Проверяйте ответы автоматически
Напишите нам, если не нашли ответ в Справке. Вы можете приложить скриншоты или видео, чтобы ускорить помощь:
Написать в чат Написать в Telegram
Точно прописанные условия задания обеспечат, что вы получите те выходные данные, которые вам нужны. Условия проверят, что исполнитель выполнил обязательные действия.
В Яндекс Заданиях условия позволяют автоматизировать проверку задания. Например, исполнитель не сможет отправить ответ на задание, пока не выполнит условия, которые вы определите обязательными.
Особенности проверок
-
Что можно проверять:
-
Где можно указывать условия:
- в свойстве
validation
у родительского компонента; - в свойстве
condition
у plugin.trigger.
- в свойстве
-
Ссылка на проверяемые данные указывается в свойстве
data
. -
У некоторых компонентов нет свойства
data
, а использовать их можно только из свойстваvalidation
у родительского компонента (например, condition.played и condition.played-fully).
Сделать поле обязательным
Чтобы проверить, что данные заполнены, добавьте компонент condition.required.
В этом примере нужно заполнить поле для текста, иначе кнопка «Отправить» не сработает. Обратный случай — компонент condition.empty, он проверяет пустоту данных и возвращает false
, если данные получили значение.
Сравнить значения
Проверить, что значения равны
Чтобы проверить равенство заданного и полученного значений, добавьте компонент condition.equals.
В этом примере если будет выбран ответ «Нет», то появится поле для заполнения текста.
Проверить, что значения не равны
Чтобы вернуть значения, обратные заданным условиям, перечислите их в свойстве condition
у компонента condition.not.
В этом примере если условие condition.equals
выполняется и возвращает true
, то condition.not
возвращает false
и скрывает поле для ввода текста.
Когда несколько правильных ответов
Чтобы проверить, является ли массив в data
подмассивом для parent
, добавьте компонент condition.sub-array.
В этом примере компонент проверяет, что значения animal
и human
являются частью массива objects
. Если выбираются ответы «Человек» и «Животное», то логический компонент helper.if
отображает вопрос: «Человек и животное взаимодействуют между собой?».
Проверить несколько условий
Выполнить все условия
Чтобы проверить выполнение нескольких условий, перечислите их в свойстве condition
у компонента condition.all.
В этом примере нужно выполнить два действия: заполнить поле для текста и перейти по ссылке из интерфейса. Кнопка «Отправить» здесь не сработает, пока не будут выполнены оба условия.
Выполнить хотя бы одно из условий
Чтобы проверить выполнение как минимум одного условия, перечислите их в свойстве condition
у компонента condition.any.
В этом примере нужно выполнить хотя бы одно из двух действий: отметить «Надписи нет» или заполнить поле «Что написано на изображении». Кнопка «Отправить» здесь не сработает, пока не будет выполнено одно из условий.
Проверить условия конкретных компонентов
Некоторые условия работают только с определенными компонентами. Например, condition.link-opened работает только с view.link
.
В этом примере нужно перейти по ссылке из интерфейса, иначе кнопка «Отправить» не сработает.
Если не нашли нужный компонент
В списке условий приведены все доступные компоненты с именем conditions.*
. Если среди них вы не нашли подходящий или хотите использовать готовую конфигурацию, то настройте любую проверку через condition.schema, описав ее в формате JSON Schema.
JSON-объекты с заданной структурой, которые помогают составить интерфейс задания. Компоненты делятся на категории в зависимости от назначения, например поля для ввода данных, условия или действия. Название компонента указывается в свойстве type
в формате <категория>.<имя>
. Cписок компонентов
Описание вашего интерфейса в формате JSON. Так же называется панель в редакторе, где вы пишете этот код.