サインアップ時に特定のメッセージが必要ですが、何らかの理由でメッセージが表示されません。
助けてください
私には次のルールがあります:
['acordul_tc', 'required', 'on' => ['register']],
['acordul_tc', 'integer', 'max' => 1, 'message' => 'my test message'],
およびhtml:
<div style='position:relative; float:left; padding:5px;'>
<div style='float:left; padding:5px;'>
<?php
echo $form->field($model, 'acordul_tc',
['options' => ['tag' => 'span',],
'template' => "{input}"])->checkbox(['checked' => false]);
?>
</div>
<div style='float:left; padding:5px;'>
<?php
echo \Yii::t('user', 'acordul_tc_start') .
Html::a(Yii::t('diverse', 'Termenii si Conditiile'),
['site/terms-and-conditions']) .
\Yii::t('user', 'acordul_tc_end');
?>
</div>
</div>
<div class="col-lg-12">
<?php
echo $form->field($model, 'acordul_tc',
['template' => "{error}"])
->error();
?>
チェックボックスがチェックされていないときにエラーメッセージを表示したい場合は、このルールを試してください
['acordul_tc', 'required', 'on' => ['register'], 'requiredValue' => 1, 'message' => 'my test message']
これは、属性が必須であり、1に等しくなければならないことを意味します。そうでない場合、メッセージにエラーが表示されます。
モデル>ルール関数内
[['acordul_tc'], 'compare',
'compareValue' => true,
'operator' => '==',
'when' => function ($data) {
return $data->acordul_tc== 1;
}
],
以下は、エンドユーザーに期待される出力を取得するためにFORMで実行する必要のあるコード変更です。
echo $form->field($model, 'acordul_tc',
['options' => ['tag' => 'span'],
template' => "{input}"]
)
->checkbox(['checked' => false, 'required' => true]);
以下はすべてを説明する画像です。