Как передать значение от валидации ActiveForm в JavaScript?

Для передачи значения, полученного в процессе валидации формы Yii ActiveForm, в JavaScript есть несколько способов. Вот некоторые из них:

1. С использованием скрытого поля формы:
В данном случае, вам необходимо внедрить скрытое поле в форму и присвоить ему значение, которое получено в результате валидации. Затем, используя JavaScript, вы можете получить значение этого скрытого поля и использовать его по своему усмотрению. Вот пример кода:

   <?php $form = ActiveForm::begin(); ?>
   
   <?= $form->field($model, 'attribute')->textInput(['maxlength' => true]) ?>

   <!-- Внедрение скрытого поля -->
   <?= Html::hiddenInput('hiddenAttribute', null, ['id' => 'hiddenAttribute']) ?>
   
   <?php ActiveForm::end(); ?>
   // Получение значения скрытого поля
   var hiddenValue = document.getElementById('hiddenAttribute').value;
   
   // Использование значения по своему усмотрению
   console.log(hiddenValue);

2. С использованием атрибута data:
В данном случае, вам необходимо использовать HTML5 атрибут data для встраивания значения, полученного в результате валидации, в элемент формы. Затем, используя JavaScript, вы можете получить это значение с помощью метода getAttribute и использовать его по своему усмотрению. Вот пример кода:

   <?php $form = ActiveForm::begin(); ?>
   
   <?= $form->field($model, 'attribute')
       ->textInput(['maxlength' => true, 'data' => ['validationValue' => $model->attribute]]) ?>
   
   <?php ActiveForm::end(); ?>
   // Получение значения атрибута data
   var validationValue = document.getElementById('yourElementId').getAttribute('data-validationValue');
   
   // Использование значения по своему усмотрению
   console.log(validationValue);

3. С использованием ajax-запроса:
В данном случае, вам необходимо использовать ajax-запрос для отправки значения, полученного в результате валидации, на сервер. Затем, используя JavaScript, вы можете получить возвращенное значение и использовать его по своему усмотрению. Вот пример кода:

   <?php $form = ActiveForm::begin(['id' => 'yourFormId']); ?>
   
   <?= $form->field($model, 'attribute')->textInput(['maxlength' => true]) ?>
   
   <?php ActiveForm::end(); ?>
   // Отправка значения атрибута валидируемого поля на сервер
   $.ajax({
       url: '/your/url',
       type: 'POST',
       data: $('#yourFormId').serialize(),
       success: function(response) {
           // Использование ответа сервера по своему усмотрению
           console.log(response);
       }
   });

Обратите внимание, что коды приведены в качестве примера и могут требовать доработки для применения к вашему конкретному случаю. Способ передачи значения может варьироваться в зависимости от требований и ваших предпочтений.