#validation #yii
#проверка #yii
Вопрос:
У меня есть форма, но поля ввода к ней не привязаны, поэтому вместо $form->field()
этого я должен использовать Html::textInput('ALG['.$x .'][pcs]', $models->pcs)
, потому что это похоже на несколько моделей одного и того же типа в одной форме, но поля ввода находятся в виде сетки для лучшего обзора, а не в виде Yii: сбор табличного ввода (когда у вас есть несколько сотен моделей, это будет сбивать с толку). Можно ли использовать проверку AJAX для этих входных данных, отличных от формы Html::textInput()
?
Ответ №1:
Почему вы не используете $form->field()
? Если из-за сложного входного имени вы можете переопределить значение по умолчанию и установить свое, передав параметр name для ввода так же, как вы назначаете ему класс.
Примечание: Это применимо только в том случае, если вы работаете с ActiveRecord .
Комментарии:
1. Спасибо за ваш комментарий, я обновил вопрос для лучшего понимания.
2. Если вы организуете это правильно, да, вы можете и без выхода из поведения моделей. Вы можете работать с активной записью и правилами. Проверьте табличный ввод, и вы найдете способ. Если нет, вам нужно создать проверку самостоятельно, потому что ActiveForm, который управляет вашими формами в клиенте, насколько я знаю, предполагает модель на стороне сервера.
Ответ №2:
Попробуйте что-то вроде этого:
<?= Html::activeLabel($model, '['.$x .'][pcs]'); ?>
<?= Html::activeTextInput($model, '['.$x .'][pcs]'); ?>
<?= Html::error($model, '['.$x .'][pcs]'); ?>
Где $model
— объект модели ALG.