介绍
Yii2中怎么创建表单,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强> 1,表单的生成强>
在Yii中表单即ActiveForm也是部件,在上面可以看到是由开始开始
& lt; ? php form 美元;=,ActiveForm:开始((& # 39;id # 39;,=祝辞,& # 39;login-form& # 39;]);, ?在
中间为各个项的输入框,最后由结束结尾
& lt; ? php ActiveForm:结束();,?在
<强> 2,表单中的方法强>
在小部件中开始()方法会调用int方法
public function init ()
在最后的结束()方法会调用运行方法
public function 运行()
1, ActiveForm:开始()方法
//这个是在执行,form 美元;=,ActiveForm:开始((& # 39;id # 39;,=祝辞,& # 39;login-form& # 39;]);,中开始的方法的时候调用的 public function  init () { ,,,//设置表单元素形式的id ,,,if (!收取($ this→选项(& # 39;id # 39;])), { ,,,,,这个美元→选项(& # 39;id # 39;],=, $ this→getId (); ,,,} ,,,//设置表单中间的要生成各个领域的所使用的类 ,,,if (!收取($ this→fieldConfig[& # 39;类# 39;])),{ ,,,,,这个→美元fieldConfig[& # 39;类# 39;],=,ActiveField::类名(); ,,,} ,,,//这个就是输出表单的开始标签 ,,,//如:& lt; form id=發ogin-form", action=發ulublog/前端/web/index . php ? r=网站/login",方法=皃ost"比; ,,,echo Html: beginForm ($ this→行动,美元这→方法,$ this→选项); }
2, ActiveForm:结束()方法
//这个是在执行,ActiveForm:结束();,中结束的方法的时候调用的 public function  run () { ,,,//下面这个就是往视图中注册表单的js验证脚本, ,,,if (!空($ this→属性)),{ ,,,,,id 美元;=,$ this→选项(& # 39;id # 39;); ,,,,,options 美元;=,Json:编码($ this→getClientOptions ()); ,,,,,attributes 美元;=,Json:编码($ this→属性); ,,,,,view 美元;=,$ this→getView (); ,,,,,ActiveFormAsset:注册($视图); ,,,,/* ,,,,,,*,属性:美元为要验证的所有的字段数组。它的值是在activeform中创建场的时候,在领域的开始方法中给它赋值的。 ,,,,,,*,其中每又个字段是一个数组,为这个领域的各个参数 ,,,,,,*,比如用户名的领域中的参数有 ,,,,,,*,验证id、名称、 ,,,,,,*,validateOnChange, validateOnType, validationDelay, ,,,,,,*,容器,输入错误 ,,,,,,*, ,,,,,,*,美元选项:为这个表单整体的属性,如: ,,,,,,*,errorSummary, validateOnSubmit, ,,,,,,*,errorCssClass, successCssClass, validatingCssClass, ,,,,,,*,ajaxParam ajaxDataType ,,,,,*/,,,,,视图→美元registerJs (“jQuery (& # 39; # $ id # 39;) .yiiActiveForm(美元)属性,选择美元);“); ,,,} ,,,//输出表单的结束标签 ,,,echo Html: endForm (); }
3, getClientOptions()方法
/* *,设置表单的全局的一些样式属性以及js回调事件等 */protected function  getClientOptions () { ,,,options 美元;=,( ,,,,,& # 39;errorSummary& # 39;,=祝辞,& # 39;强生# 39;,只这→美元errorSummaryCssClass, ,,,,,& # 39;validateOnSubmit& # 39;,=祝辞,$ this→validateOnSubmit, ,,,,,& # 39;errorCssClass& # 39;,=祝辞,$ this→errorCssClass, ,,,,,& # 39;successCssClass& # 39;,=祝辞,$ this→successCssClass, ,,,,,& # 39;validatingCssClass& # 39;,=祝辞,$ this→validatingCssClass, ,,,,,& # 39;ajaxParam& # 39;,=祝辞,$ this→ajaxParam, ,,,,,& # 39;ajaxDataType& # 39;,=祝辞,$ this→ajaxDataType, ,,,); ,,,if ($ this→validationUrl !==, null), { ,,,,,选择美元[& # 39;validationUrl& # 39;],=, Url::(这比美元;validationUrl); ,,,} ,,,foreach ((& # 39; beforeSubmit& # 39;,, & # 39; beforeValidate& # 39;,, & # 39; afterValidate& # 39;], as 美元名称),{ null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullYii2中怎么创建表单