- ActiveForm表单提交后,通过网页中Network可知表单数据已经向控制器提交。但是,控制器中却接受不到数据。
我遇到这个问题的原因是:在表单模型的类文件中没有给表单的属性设置规则,就是没有使用rules()方法对属性设置规则。以我遇到的问题为例:
public function rules()
{
return [
[['id', 'name', 'code', 'type'], 'required'],
]
}
只需要简单的这样写就可以在控制器中获取到表单数据了。经过测试,在该方法中注释掉的属性都无法穿到控制器中。
2.在ActiveForm表单中使用dropDownList,比如下面的代码:
类型:<?php echo $form->field($model, 'type')->dropDownList($class::$type,['prompt'=>'请选择', 'style' => 'with:120px', 'class' => 'form-control']) ?>
在页面中显示几条带选的选项,如果选择 '请选择' 这个选项,后项后台传入:
'' //空,并不是null
如果选择其他的选项,这传入的是每个选项对应的key,并使选项本身的value,这里是:
0 //第一个选项
1 //第二个选项
//...
网友评论