yii2问题记录——创建表单时表单和字段的属性和样式的自设置

本篇帖子只介绍ActiveForm中的form属性和字段属性以及样式的相关介绍,其他的您可自行查阅文档了解。

yii2框架的中的Activeform表单部分组件是一个很好用的功能,但是官方文档的介绍却是很少而且缺少例子去说明讲解。网上资源和文档又大多都是重复的粘贴复制,这对一个萌新小白实在太不友好了。所以这里把自己的遇到的一下东西记下来并希望能够帮助到其他的人。

ActiveForm::begin()代表form的开始,begin()中可以设置很多的参数,直接看例子

<?php $form = ActiveForm::begin([
        'id'=>'form-login', //会在form标签中添加id属性:<form id="form-login">
        'method'=>'post', //设置form表单的提交属性
        'fieldConfig' => [
            'options' => [
                'tag' => false, //创建字段时不生成上一层的<div class='form-group'>
                'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-3\">{error}</div>", //修改显示内容默认为{label}\n{input}\n{hint}\n{error} \n是html代码显示时的换行
          'labelOptions' => ['class' => 'col-lg-2 control-label'],  //修改label的样式
                 ...
            ],
        ],
]) ?>

总结:可以看出相对标签设置属性可以直接在参数数组内以k-v的方式加入,替他的特殊设置则要在options中配置

再看一个字段的属性设置

<?= $form->field($model, 'username')
->label(false) //这里表示不生成label标签
->textInput([
'id'=>'LAY-user-login-username',
'class'=>'layui-input',
'lay-verify'=>'required',
'placeholder'=>'用户名'
]) ?>

 总结:发现要对input设置id,class或其他额外属性可以直接在textInput([])的数组内添加即可,另外要对inp的父级div设置样式要在field($model, 'username', [])的数组内设置;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yii2中,可以使用ActiveForm widget来创建表单,并在验证失败时自动高亮显示错误字段。要在表单中高亮显示验证失败的字段,可以按照以下步骤操作: 1. 在视图中使用ActiveForm widget创建表单: ```php <?php use yii\widgets\ActiveForm; ?> <?php $form = ActiveForm::begin(); ?> <!-- 表单字段 --> <?php ActiveForm::end(); ?> ``` 2. 在控制器中处理表单提交并进行验证: ```php public function actionCreate() { $model = new MyModel(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { // 保存数据 return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } } ``` 3. 在视图中使用ActiveField widget来定义每个表单字段,并将其与模型属性绑定: ```php <?php use yii\widgets\ActiveForm; ?> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'name')->textInput() ?> <?= $form->field($model, 'email')->textInput() ?> <!-- 其他表单字段 --> <?php ActiveForm::end(); ?> ``` 4. 在视图中使用$form->errorSummary()方法来显示所有验证错误消息: ```php <?php use yii\widgets\ActiveForm; ?> <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'name')->textInput() ?> <?= $form->field($model, 'email')->textInput() ?> <!-- 其他表单字段 --> <?= $form->errorSummary($model); ?> <?php ActiveForm::end(); ?> ``` 此时,在表单中输入不合法的数据并提交后,所有验证失败的字段会自动高亮显示,并显示相应的错误消息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值