问题标签 [yii-cformmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2950 浏览

php - 从 GET/POST 预填充 Yii 表单

我的问题是我有一个包含简短表单的 HTML 页面。我想要的是当这个页面发布/进入我的 Yii 模型表单时,能够使用传入表单中的值抓取并预填充模型的空表单......

我不认为我可以使用分页小部件,因为我的初始页面是 HTML。如果设置了这个 POST 值而不是模型,有什么方法可以将其拉入。

我还是 Yii 的新手,所以如果这是一个简单的答案,我很抱歉

编辑:为了澄清,我的初始表单有一些来自我的主页表单的值。HTML 页面有 3 个字段,比如名字、姓氏、电子邮件地址。然后将该表格发布到我的整页表格中,该表格要求提供其他信息以完成模型。我希望我可以在新的 php/yii 表单中预先填充名字和姓氏。

基本上我希望当我第一次渲染 _form.php 时,我可以获取一个 GET/POST 值并将其分配给当前模型,或者将其添加为表单上的默认值。

0 投票
1 回答
1782 浏览

php - yii:只是试图使用表单生成器显示一个无辜的表单

我只是想使用表单生成器显示表单,但未显示字段。这是代码:

注册.php

注册表格.php

MyController.php

编辑1:

我错过了 RegisterForm.php 中的规则。

所以,规则是强制性的???无论如何,我也有兴趣分别显示字段,所以我尝试了这个:

但我收到此错误:

编辑2:

在 dInGd0nG 的评论之后:

哈维尔

0 投票
2 回答
219 浏览

php - Yii - getActiveFormWidget() 在核心中返回错误的类型?

我只是想创建一个非 AJAX 注册表单。

当我通过 CForm 提交时,PHP 说 error() 在非对象上被调用。我检查了发生错误的源文件,并且(使用var_dump(get_class($parent->getActiveFormWidget()));)发现 getActiveFormWidget() 返回 a CFormInputElement,它没有定义 error() 。

我认为这与CForm::activeForm有关,但它默认为CActiveForm.

我确实尝试过'enableAjaxValidation'=>false

我不明白什么?我怀疑我在此过程中误解了某些内容。

CFormInputElement::renderError():

模型:

看法:

控制器动作:

0 投票
4 回答
6441 浏览

php - CModel vs CFormModel vs CActiveRecord

我正在 yii 中构建一个数据库密集型应用程序。所以性能和安全自然是一个值得关注的问题。除此之外,表单验证也是一个主要标准。为了安全起见,我计划对所有 Sql Queries 使用参数绑定。对于验证,我想使用 Yii 提供的验证器,而不是推出我自己的 . 我知道性能会受到 CActiveRecord 的影响。所以我计划为我的所有表创建 Cmodel 类,在这些各自的模型中定义验证规则,并定义函数来执行用于检索和插入数据的 sql 查询。我在网站上收集的所有数据主要是通过表单(大约 95%),如果我使用 Cformmodel ,我真的不明白 Cmodel 和 Cformmodel 之间的区别,使用其中任何一个是否会影响性能。

另外,为了防止 XSS 攻击,我想使用 HTML purify 包装器作为验证规则,因为我几乎在所有地方都读到这个包装器的性能很差,即使我将它用作验证规则,它会不会很糟糕?即使我正在净化输入,我是否应该使用 Chtml::Encode 显示我的输出文本?

我处理数据的粗略计划是:

0 投票
2 回答
2038 浏览

yii - Yii - Cactiveform、cform、表单生成器 - 混淆

这是 Yii 上的三个概念,我真的不明白我们应该在什么场景下使用什么?

谁能解释一下那些 Yii 元素,我们应该在什么情况下使用它们?

0 投票
1 回答
1146 浏览

yii - 将值从 Yii CController 类传递到 CForm (Form Builder) 配置数组

我是 Yii 的新手,我正在尝试以“正确”的方式完成我的初始项目。我创建了一个 CFormModel 类,它需要三个字段来查询一些数据,一个 CForm 配置来构造表单,以及一个 CController 来将它绑定在一起(所有内容都在下面给出)。

数据请求需要一个帐户,这可能来自几个不同的地方。我认为检索它应该在控制器中。但是,我不知道如何从控制器将其放入表单的隐藏“帐户”字段中,以便在提交后将其分配给 CFormModel 的参数。更一般地说,我知道如何从 CController 传递给查看脚本,但不知道如何传递给 CForm。注册表 ( Yii::app()->params[]) 是我最好的选择吗?

我想我可以把它从表单(和必填字段)中删除,然后等待在提交操作(actionSummaries)中填充它。这会破坏 CForm 的意图吗?有最佳实践吗?即使采用这个解决方案,有人可以解决第一个问题,以防它再次出现吗?

欢迎任何其他温和的批评。

模型/SummariesForm.php

意见/帐户/select.php

控制器/AccountController.php

意见/帐户/selectForm.php

0 投票
1 回答
145 浏览

file-upload - 除非明确标记为“安全”,否则 Yii 文件 CFormInputElement 不会显示

我正在尝试使用 Form Builder 来构建一个简单的文件上传提示。我想指定文件的规则类似于

但有些不对劲。'safe'仅当我将元素明确标记为(并删除'file'规则)时,才会出现文件上传元素。我错过了什么?

模型/UploadForm.php

意见/外联网/uploadForm.php

控制器/ExtranetController.php

0 投票
1 回答
3375 浏览

yii - Yii 在选择另一个时填充下拉列表

I have a dropdown that I want to populate when an item in another dropdown is selected. 两个下拉列表都与从控制器传递的数据/模型相关联。第一个下拉列表是通过调用模型中的函数从数据库中填充的。这是表格,

这是 Ajax 调用的操作 user/getunits。

选择第一个下拉列表时,我不断收到错误“未定义的索引:超级单元”。此外,您可能会注意到我在第一个下拉列表中使用 form->dropDownListRow,而在第二个下拉列表中使用 CHtml::dropDownList。那是因为我对如何确保正确使用 ajax 正确填充下拉列表并正确绑定到模型的语法一无所知。

0 投票
1 回答
786 浏览

php - 如何在 Yii 上创建新的表单模型?

我只是一个愚蠢的开始 yii 和整个 mvc 的东西。我想知道是否可以创建一个表单,它只会向我发送一封电子邮件,其中填写了所有字段。没有数据库存储,没有主要规则。

使用登录和联系表格等预制模型时,我从来没有遇到过问题。那些工作正常。所以现在我正在尝试一个测试表格,看看我是否可以创建一个工作模型,但它似乎不起作用。

看法:

模型:

默认控制器:

我可能遗漏了很多东西,但我一直在研究,找不到获取表单信息的方法。如果有人能告诉我正确的方向,我将不胜感激。

我现在只想获取表单值并通过电子邮件发送它们。谢谢

0 投票
1 回答
2908 浏览

php - yii, CactiveForm 复选框列表

我真的想渲染一个复选框列表,之前从未尝试过它,所以我遇到了问题,我试图渲染每个列或属性的所有复选框,这是动作控制器:

这是带有另一种方法的模型

我试图制作复选框列表的表单

和文件的内容,如果你问

有一些列是自动生成的,我将它们的名称存储在这个文件中,用空格分隔,一切似乎都很好,直到我到达表单上的复选框列表,它给了我类似 strpos() 之类的错误,我该怎么做此复选框用于呈现并将 1 个数据保存到由特定列检查的那些?