Używam jednego pliku modelu dla 2 formularzy. Jeden dla SIGNUP & Inne dla A członków dillingowych. Nie został ustawiony żaden scenariusz dla formularza SIGNUP. Ale został ustawiony scenariusz dla Dodawanie członków formularz jest ustawiony.Jak ustawić komunikat sprawdzania poprawności dla pola o walidacji ajaxów w scenariuszach? - Yii2
model
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.'],
];
}
Zobacz
Tutaj ustawić scenariusz jak $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; ?>
Wszystkie komunikaty o błędach sprawdzania poprawności działają z wyjątkiem pola email
. Jeśli usuniemy z pola 'enableAjaxValidation' => true
, to działa. Ale dla mnie wymagane jest 'enableAjaxValidation' => true
.
Obraz
jak w obrazek, to jest wyraźnie widoczne, że komunikat o błędzie nadchodzi „Wpisz swój adres e-mail.”, która powinna być „Proszę podać adres e-mail.” . Tylko komunikat błędu sprawdzania poprawności pola email
nie nadchodzi poprawnie. Tylko że wszystkie są w porządku.
Jak ustawić komunikat sprawdzania poprawności dla pola email
dla scenariuszy? Każda pomoc/podpowiedź/sugestie są dostrzegalne.
Czy moja odpowiedź rozwiązać swój problem lub czy są jakieś problemy? –