如何在 Yii2 中的 form-group 之后设置 errorPlacement

How to set errorPlacement after form-group in Yii2

如何在 Yii2 activeform 中设置 errorPlacement 或在 form-group 之后使用 kartik active form? 下面是查看文件的代码。

<div class="col-sm-6">
     <div class="form-group field-signupform-value1 required">
          <label class="control-label" for="signupform-value1">value1 Name</label>
          <input type="text" id="signupform-value1" class="form-control" name="SignupForm[value1]" placeholder="value1 Name" aria-required="true">
           <p class="help-block help-block-error"></p>
      </div> 
</div>

我想要 html 代码如下。

应该在 .

之后自动添加
<div class="col-sm-6">
     <div class="form-group field-signupform-value1 required">
          <label class="control-label" for="signupform-value1">value1 Name</label>
          <input type="text" id="signupform-value1" class="form-control" name="SignupForm[value1]" placeholder="value1 Name" aria-required="true"> 
      </div> 
    <p class="help-block help-block-error"></p> 
</div>

查看您的输入,不需要更改错误消息的替换,但如果您想使用输入模板属性,可以参考以下内容

<?php $form = ActiveForm::begin([
          'fieldConfig'=>['template'=>'<div style="border:solid 1px black;padding-bottom:15px">{label}{input}{hint}</div>{error}']

]); ?>

在上面的模板属性中,您可以更改错误模板的位置或事件在其中添加一些HTML,希望对您有所帮助。

编辑: 我已经添加了内联 css 到 div,你可以把你的 css class 应用到外边框。

我是通过下面的代码实现的。感谢您的建议。

<?php 
$form = ActiveForm::begin([
    'fieldConfig'=>['template'=>' <div class="custom"> 
    {label}{input}
</div>
{error}',
'inputOptions' => [
'placeholder' => 'Username ...',
'class'=>'form-control',
]]
 ]); ?>

并给 css 到 "custom" class 边框框

您可以像这样使用另一个隐藏输入:

$form->field($model, "your_field")->hiddenInput([
                     'class' => 'hidden_input_val'
                  ])->label(false) //  (for validation messages)

要在HTML中显示错误:

<?=Html::error($model, 'your_field', ['class' => 'help-block']) ?>

然后你只需要用css

隐藏这个隐藏输入的.help-block