yii2 - Modell laden-Funktion nicht einige Modell-Attribute
Arbeite ich an einem PHP-Yii2 Anwendung. Ich habe ein seltsames problem mit yii2 yii\base\Model.load
Funktion. Hier ist mein problem:
Ich habe ein Formular Modell namens PaymentIncreaseBalanceForm
wie unten:
class PaymentIncreaseBalanceForm extends yii\base\Model {
public $amount;
public $receiptNumber;
public $description;
...
}
Hier ist ein Teil meiner Datei anzeigen:
<?= $form->field($model, 'amount')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'receiptNumber')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
- Und das ist meine controller-action:
public function actionIncreaseBalance()
{
$modelForm = new PaymentIncreaseBalanceForm();
if ($modelForm->load(Yii::$app->request->post()))
{
//some logic
}
return $this->render('increase-balance', [
'model' => $modelForm,
]);
}
Nach dem Absenden des Formulars, ich angemeldet Yii::$app->request->post()
mit die()
alle drei Parameter amount
, receiptNumber
, description
existieren in der post mit Ihren richtigen Werten(alles, was Recht ist). Aber nach dem Aufruf $modelForm->load
Funktion, dies ist mein Modell Attribute:
$amount => 1000,
$receiptNumber => 887412141,
$description => NULL,
$description
immer NULL ist! Ich weiß nicht, was ist das problem mit diesem Feld. Gibt es irgendein problem mit meinem code?
InformationsquelleAutor hamed | 2016-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wahrscheinlich gibt es keine Regel Hinzugefügt
description
Attribut im code.Überprüfen Sie die
rules()
Methode, um es zu bestätigen.Als Standard-Methode
load()
gilt nur "sichere" Werte, Attribute und Wert als "sicher", wenn dort ist Regel in das aktuelle Szenario.safe
mein problem gelöst.Bitte siehe yiiframework.com/doc-2.0/guide-tutorial-core-validators.html, um die Bedeutung der verschiedenen Prüfungen können Sie angeben, in
rules()
. "Sicher" ist eine Besondere Prüfung (und nicht selbst überprüfen), denn Ihre Beschreibung, die Sie benutzt haben könnte "string"Könnten Sie bitte checkout diese Frage
InformationsquelleAutor Bizley
Entfernen $ - Zeichen aus der Beschreibung
<?= $form->field($model, 'description')->textarea(['rows' => 6]) ?>
im view-DateiEntschuldigen Sie, dass ist ein Fehler in meinem code, die ich bearbeitet habe, meine Frage.
InformationsquelleAutor Mohan
Ähnliche Probleme oft verursacht werden durch den "sicher Attribute" (wie sagen Bizley).
In komplexen Fällen mit vielen Regeln und Szenarien können Sie aktuelle safe-Attribute über Modell::safeAttributes.
Führen Sie es unmittelbar vor dem laden der Daten.
InformationsquelleAutor IStranger