Quiero validar un campo mediante la rules del modelo con la opcion de whenClient pero no aplica nada

public function scenarios()
{
$scenarios = parent::scenarios();
/**
* EL ESCENARIO POR DEFECTO ES default
* ESCENARIOS CREADOS
*/
$scenarios[self::SCENARIO_DEFAULT_PRIMERA] = [‘ayuda’, ‘observacion’];
$scenarios[self::SCENARIO_DEFAULT_SEGUNDA] = [‘ayuda’, ‘subayuda’, ‘observacion’];
$scenarios[self::SCENARIO_CONSULTA_MEDICA] = [‘ayuda’, ‘especialidad’, ‘centro’, ‘fechacita’, ‘observacion’];
$scenarios[self::SCENARIO_ESTUDIO_MEDICO] = [‘ayuda’, ‘subayuda’, ‘centro’, ‘fechacita’, ‘observacion’];
$scenarios[self::SCENARIO_TERAPIA_MEDICA_COMPLEMENTARIA] = [‘ayuda’, ‘especialidad’, ‘centro’, ‘fechacita’, ‘observacion’];
return $scenarios;
}

/**
 * {@inheritdoc}
 */
public function rules()
{
    return [
        //[['ayuda', 'observacion'], 'required', 'message'=>'Este campo no puede estar vacio!!'], // ESCENARIO POR DEFECTO default
        [
            ['ayuda', 'observacion'],
            'required',
            'when' => function($model){
                var_dump(in_array($model->ayuda,['169', '182', '260', '279', '291']));die;
                return in_array($model->ayuda,['169', '182', '260', '279', '291']);
            },
            'whenClient' => "function(attribute, value){
                console.log('paso por aca');
                document.querySelector('#' + attribute.id).style.display = 'block';
            }",
            'on'=>self::SCENARIO_DEFAULT_PRIMERA,
            'message'=>'Este campo no puede estar vacio!!'
        ],

en la vista este es el campo que quiero que no oculte despues de validar.

<?= $form->field($seguimiento_form, 'subayuda')->dropDownList( ArrayHelper::map($catalogo_ayuda, 'id_cat_status', 'nombre_status'), ['prompt' => '---- Seleccione ----', 'class' => 'form-control input-md'] ) ?>

el detalle esta, en que cuando uso whenClient no hace nada, si pudieran ayudarme a saber como se aplica bien.