2 つのフォームに 1 つのモデル ファイルを使用しています。1 つはSIGNUP用、もう 1 つはメンバーの追加用です。
SIGNUPフォームのシナリオは設定しませんでした。ただし、メンバー追加フォームのシナリオは設定されています。
モデル
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.'],
];
}
意見
ここでは、 のようなシナリオを設定します$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; ?>
フィールドを除くすべての検証エラー メッセージが機能しemail
ます。'enableAjaxValidation' => true
フィールドから削除すると、機能します。しかし、私にとって'enableAjaxValidation' => true
は必須です。
画像
画像のように、「メール アドレスを入力してください。」というエラー メッセージが表示されることがはっきりとわかります。フィールド検証エラー メッセージのみが正しく表示されません。すべてが大丈夫であることを除いて。email
email
シナリオのフィールドに検証メッセージを設定するには? ヘルプ/ヒント/提案はかなりのものです。