比较yii2

时间:2017-08-03 06:42:15

标签: php validation yii2 yii2-advanced-app

我在同一页面中使用相同的模型有两个注册表单。两个表单都有相同的字段,如下,

  

1.username   2.password   3.repeatPassword

表单1工作正常,但表单2比较验证无法正常工作。当我输入repeatPassword是正确的时候它总是返回错误信息然后它也返回错误信息。我认为问题是字段ID,因为当我在其工作时输入form1密码字段和form2 repeatPassword字段时。

型号规则:

[['repeatPassword'], 'required','message' => 'Please re-enter the Password','on' => ['register']],
[['repeatPassword'], 'compare', 'compareAttribute' => 'password', 'message' =>'Please re-enter the password.This is to check that you have not mistyped any characters '],

更新

查看

<?php $form = ActiveForm::begin([
    'id' => 'student-register-form',
    'action'=>['user/student-register'],
    'enableAjaxValidation' => true,
    'options' => ['class' => 'form-horizontal'],
    'fieldConfig' => [
        'template' => "{label}\n<div class=\"col-lg-12\">{input}</div>",
        'labelOptions' => ['class' => 'col-sm-5 control-label'],
    ],  
]); ?>  
<?= $form->errorSummary($user, ['header' => '']); ?>
<?= $form->field($user, 'username')->textInput(['placeholder'=>'Username'],['style'=>'text-indent:20px;'])->label(false)?> 
<?= $form->field($user, 'password')->passwordInput(['placeholder'=>'Password'])->label(false) ?>   
<?= $form->field($user, 'repeatPassword')->passwordInput(['placeholder'=>'ConfirmPassword'])->label(false) ?>
<?= $form->field($user, 'acceptTerms')->checkBox()->label("I agree with the <a href='#'>Terms & Conditions<a/>") ?>
<?= $form->field($user, 'role')->hiddenInput(['value'=>1]);?> 
<div class="form-group">
    <div class="col-lg-12 register-button mrgT-15">
        <?= Html::submitButton(Yii::t('user', 'Register'), ['class' => 'btn btn-primary submit-register']) ?>             
    </div>
</div>

这是form1和form2也是相同的设置,只有formid,隐藏的输入值和表单动作是不同的。并且控制器动作也是相同的代码呈现形式并处理发布请求。

注意:两种表单都是在主布局中呈现。

0 个答案:

没有答案