2016-03-21 1 views
0

フィールドが必要なのに、必要なアスタリスクが表示されないという問題があります。Yiiは最初の読み込み時にアスタリスクが表示されないようにする必要がありますか?

送信時にフォームにエラーが発生すると、ラベルにアスタリスクが表示されるという不自然さがあります。ビューで

<?php echo $form->labelEx($model,'password', array('class' => 'control-label col-sm-4','label'=>'Enter a New Password')); ?> 
<?php echo $form->labelEx($model,'repeat_password', array('class' => 'control-label col-sm-4','label'=>'Repeat the New Password'))); ?> 

1が動作するパスワード。

モデル:

array('email, password', 'required', 'except' => 'reset'), 
array('password', 'required', 'on' => 'reset'), 
array('email, password', 'length', 'max'=>255), 
array('password', 'length', 'min' => 1), 
array('repeat_password', 'required', 'on' => 'register, reset'), 
array('repeat_password', 'compare', 'compareAttribute' => 'password', 'on' => 'register, reset'), 
array('password', 'encrypt', 'on' => 'register, reset'), 

On Load

After failed

答えて

0

にそれを変更してみてください:

array('password, repeat_password', 'required', 'on' => 'register, reset'), 
array('repeat_password', 'compare', 'compareAttribute' => 'password', 'on' =>'register, reset'), 
array('password', 'length', 'min' => 1), 
array('password', 'encrypt', 'on' => 'register, reset') 

私はそれが最初のルールを上書きしたと思います。確かに。

+0

動作しませんでした。最初のロードでは表示されませんが、失敗したサブミットがいつ送信されるかが表示されます。私は余分なルールに気づいたので、質問を更新しました。これは 'reset'アクションであることを覚えておいてください – surfer190

+0

@ surfer190検証がうまくいくので(?)、バックエンドのソリューションに満足しているので、このハッピーな方法で試してみてください。<?php echo $ form-> labelEx($ model、 'repeat_password'、array ( 'class' => 'コントロールラベルcol-sm-4'、 'required' => true)); ?>私はこれらの種類のものを示唆していませんが、実際にはあなたのために働くかもしれません – peaceman

関連する問題