Ich verwende eine Modelldatei für 2 Formulare. Eine für ANMELDEN & Andere für A dding Mitglieder.Wie setze ich eine Validierungsnachricht für ein Feld mit einer Ajax-Validierung in Szenarien? - Yii2
Ich habe kein Szenario für SIGNUP Formular festgelegt. Aber Szenario für Hinzufügen von Mitgliedern Formular wird festgelegt.
Modell
public function rules() {
return [
//Add Members
['first_name', 'required','message'=>'Please enter first name.','on'=>'addteammembersidebar'],
['email', 'required','message'=>'Please enter email address.','on'=>'addteammembersidebar'],
['mobile','required','message'=>'Please enter mobile number.','on'=>'addteammembersidebar'],
//Common
['first_name', 'required','message'=>'Please enter your first name.'],
['email', 'required','message'=>'Please enter your email address.'],
['mobile','required','message'=>'Please enter your mobile number.'],
];
}
Ansicht
Hier stelle ich Szenario wie $modelTeamMembers->scenario = 'addteammembersidebar';
.
<?php foreach ($modelsTeamMembers as $indexMember => $modelTeamMembers):
$modelTeamMembers->scenario = 'addteammembersidebar';
?>
<tr class="house-item">
<td class="vcenter">
<?php
// necessary for update action.
if (! $modelTeamMembers->isNewRecord) {
echo Html::activeHiddenInput($modelTeamMembers, "[{$indexMember}]id");
}
?>
<?php
$modelTeamMembers->first_name = $first_name;
echo $form->field($modelTeamMembers, "[{$indexMember}]first_name")->label(false);
?>
</td>
<td>
<?php
$modelTeamMembers->last_name = $last_name;
echo $form->field($modelTeamMembers, "[{$indexMember}]last_name")->label(false);
?>
</td>
<td>
<?php
$modelTeamMembers->email = $email;
echo $form->field($modelTeamMembers, "[{$indexMember}]email",['enableAjaxValidation' => true])->label(false);
?>
</td>
<td>
<?php
$modelTeamMembers->mobile = $mobile_number;
echo $form->field($modelTeamMembers, "[{$indexMember}]mobile",
['inputOptions' => ['class' => 'form-control', 'maxlength'=>"10"]])->label(false);
?>
</td>
</tr>
<?php endforeach; ?>
All Nachricht Validierungsfehler mit Ausnahme email
Feld arbeiten. Wenn ich 'enableAjaxValidation' => true
aus dem Feld entferne, funktioniert es. Aber für mich ist 'enableAjaxValidation' => true
erforderlich.
Bild
Wie in Bild, ist es deutlich zu sehen, dass Fehlermeldung kommt „Bitte geben Sie Ihre E-Mail-Adresse ein.“ Was sollte „Bitte geben Sie E-Mail-Adresse ein.“ . Nur email
Feldvalidierungsfehlermeldung wird nicht korrekt angezeigt. Außer alle sind in Ordnung.
Wie setze ich die Validierungsnachricht für email
Feld für Szenarien? Jede Hilfe/Hinweis/Vorschläge sind nennenswert.
Hat meine Antwort Ihr Problem gelöst oder es irgendwelche Probleme? –