У меня есть 2 модели A и B, где A имеет множество B. Теперь я хочу создать несколько B одновременно (страница). Вот мои коды.Yii2 правило массива валидация
B.php
...
public function rules()
{
return [
[['username', 'xx', 'yy'], 'required'],
[['xx', 'yy'], 'string'],
[['username'], 'string', 'max' => 255]
];
}
...
_form.php
<div class="b-form">
<?php $form = ActiveForm::begin(); ?>
<?php for ($i=0; $i < 3; $i++) {
?>
<h3>B #<?=$i+1?></h3>
<hr />
<?= $form->field($model, 'xx[]')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'yy[]')->textInput(['maxlength' => true]) ?>
<?php
}
?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
Я хочу, чтобы эти 6 (3x2) текстовые входы реагирует индивидуально, так и по меньшей мере необходимости 2 пары xx
и yy
, чтобы пройти проверку ,
Теперь, как я строю хорошие правила для покрытия моих потребностей?
Прежде всего, благодарю вас за советы: Это звучит странно, вы никогда не должны доверять и всегда проверять ВСЕ данные, поступающие от пользователя –
, и как насчет _form.php, делает ли я уже правильный? –