Снят флажок не проходить обязательную проверку в yii2
Я попытался проверить входные данные в своей форме, все они работают, кроме флажка. Что я делаю не так?
<div class="transactions-form"> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'who_paid_id')->dropDownList($users)->label('Who paid') ?> <?= $form->field($model, 'service_id')->dropDownList($services)->label('Service') ?> <input type="hidden" id="transactions-who_paid" name="Transactions[who_paid]" > <input type="hidden" id="transactions-service" name="Transactions[service]" > <input type="hidden" id="transactions-amount_per_person" name="Transactions[amount_per_person]" > <?= $form->field($model, 'amount')->textInput() ?> <div id="transactions-who_has_to_pay_for_it_ids" inline="" aria-required="true" aria-invalid="true"> <?php foreach ($users as $key=>$value){ ?> <label><input type="checkbox" name="Transactions[who_has_to_pay_for_it_ids][<?= $key ?>]" value="<?= $key ?>" <?php if(in_array($key, $whoHasToPay)){ echo 'CHECKED'; } ?>> <?= $value ?></label> <?php } ?> <label><input type="checkbox" name="Transactions[who_has_to_pay_for_it_ids][0]" value="0"> Everybody</label></div> <?= $form->field($model, 'date_of_payment')->textInput(array('type'=>'date')) ?> <div class="form-group"> <?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> </div> <?php ActiveForm::end(); ?> </div>
Что я уже пробовал:
public function rules() { return [ [['who_paid_id', 'service_id', 'amount', 'who_has_to_pay_for_it_ids', 'date_of_payment'], 'required'], [['who_paid_id', 'service_id'], 'integer'], [['amount', 'amount_per_person'], 'number'], [['who_has_to_pay_for_it'], 'string'], [['date_of_payment', 'creation_date'], 'safe'], [['who_paid', 'service'], 'string', 'max' => 45], ]; }
ZurdoDev
Валидация для флажков на самом деле ничего не значит. Итак, я предполагаю, что механизм проверки, который вы используете, игнорирует флажки.
Просто напишите какой-нибудь код самостоятельно, чтобы убедиться, что флажок установлен. Зачем беспокоиться о том, чтобы поставить флажок на форме, если пользователь должен проверить его? Обычно это не имеет никакого смысла.