Вот пример для Formit
<div class="form-group">
<input type="hidden" name="agree[]" value="" />
<input type="checkbox" name="agree[]" value="1" class="[[+fi.error.agree]]" [[!+fi.agree:FormItIsChecked=`1`]] > <span class="mf-req">*</span>
<small>Отправляя сообщение, я принимаю <a href="terms/">пользовательское соглашение</a> и подтверждаю, что ознакомлен и согласен с <a href="privacy/">политикой конфиденциальности</a> данного сайта</small>
<br><span class="error_agree error"></span>
</div>
И в вызове сниппета делаем его обязательным для заполнения:
{$_modx->runSnippet('!AjaxForm', [
'snippet' => 'FormIt',
'hooks' => 'spam,email',
'validate' => 'agree:required',
])}