0
我已经含有数组元素形式,我已经对其进行验证。我不能使用内置的验证规则来验证它,因为这些元素不存在于数据库中。我正在序列化数据并将它们保存在数据库的单个字段中。所以我试图用自定义验证来进行验证。 我的实际问题是在阵列字段被验证,但它不示出了在相应的场的验证错误消息。yii2上以阵列形式的元件
这是形式
<div class="col-md-6">
<?php Portlet::begin(['title' => t('Shipper')]) ?>
<?= $form->field($model, 'shipper[name]')
->textInput(['maxlength' => true])->label(t('Name'))?>
<div class="row">
<div class="col-md-8">
<?= $form->field($model, 'shipper[address_line1]')
->textInput(['maxlength' => true])->label(t('Address Line 1')) ?>
<?= $form->field($model, 'shipper[address_line2]')
->textInput(['maxlength' => true])->label(t('Address Line 2')) ?>
</div>
<div class="col-md-4">
<?= $form->field($model, 'shipper[city]')
->textInput(['maxlength' => true])->label(t('City')) ?>
<?= $form->field($model, 'shipper[pin]')
->textInput(['maxlength' => true])->label(t('Pin Code')) ?>
</div>
</div>
型号
.....
['shipper', function ($attribute, $params) {
if (!filter_var($this->{$attribute}['email'], FILTER_VALIDATE_EMAIL)) {
$this->addError('shipper', 'The email format is invalid!');
}
}],
....
确定。这很好,但在我的数据库中,只有一个名为shipper的字段用于保存这些数据(地址栏1,地址栏2,城市,别针等)。所以我正在序列化这些值并将其保存到数据库中的发货人字段。 –
我该怎么做......? –
这个我怎么连载领域 'serializedAttributes'=> [ '类'=> SerializedAttributes ::类名(), '属性'=> [ '发货'], ], –