问题标签 [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.
php - 从 GET/POST 预填充 Yii 表单
我的问题是我有一个包含简短表单的 HTML 页面。我想要的是当这个页面发布/进入我的 Yii 模型表单时,能够使用传入表单中的值抓取并预填充模型的空表单......
我不认为我可以使用分页小部件,因为我的初始页面是 HTML。如果设置了这个 POST 值而不是模型,有什么方法可以将其拉入。
我还是 Yii 的新手,所以如果这是一个简单的答案,我很抱歉
编辑:为了澄清,我的初始表单有一些来自我的主页表单的值。HTML 页面有 3 个字段,比如名字、姓氏、电子邮件地址。然后将该表格发布到我的整页表格中,该表格要求提供其他信息以完成模型。我希望我可以在新的 php/yii 表单中预先填充名字和姓氏。
基本上我希望当我第一次渲染 _form.php 时,我可以获取一个 GET/POST 值并将其分配给当前模型,或者将其添加为表单上的默认值。
php - yii:只是试图使用表单生成器显示一个无辜的表单
我只是想使用表单生成器显示表单,但未显示字段。这是代码:
注册.php
注册表格.php
MyController.php
编辑1:
我错过了 RegisterForm.php 中的规则。
所以,规则是强制性的???无论如何,我也有兴趣分别显示字段,所以我尝试了这个:
但我收到此错误:
编辑2:
在 dInGd0nG 的评论之后:
哈维尔
php - Yii - getActiveFormWidget() 在核心中返回错误的类型?
我只是想创建一个非 AJAX 注册表单。
当我通过 CForm 提交时,PHP 说 error() 在非对象上被调用。我检查了发生错误的源文件,并且(使用var_dump(get_class($parent->getActiveFormWidget()));
)发现 getActiveFormWidget() 返回 a CFormInputElement
,它没有定义 error() 。
我认为这与CForm::activeForm有关,但它默认为CActiveForm
.
我确实尝试过'enableAjaxValidation'=>false
。
我不明白什么?我怀疑我在此过程中误解了某些内容。
CFormInputElement::renderError():
模型:
看法:
控制器动作:
php - CModel vs CFormModel vs CActiveRecord
我正在 yii 中构建一个数据库密集型应用程序。所以性能和安全自然是一个值得关注的问题。除此之外,表单验证也是一个主要标准。为了安全起见,我计划对所有 Sql Queries 使用参数绑定。对于验证,我想使用 Yii 提供的验证器,而不是推出我自己的 . 我知道性能会受到 CActiveRecord 的影响。所以我计划为我的所有表创建 Cmodel 类,在这些各自的模型中定义验证规则,并定义函数来执行用于检索和插入数据的 sql 查询。我在网站上收集的所有数据主要是通过表单(大约 95%),如果我使用 Cformmodel ,我真的不明白 Cmodel 和 Cformmodel 之间的区别,使用其中任何一个是否会影响性能。
另外,为了防止 XSS 攻击,我想使用 HTML purify 包装器作为验证规则,因为我几乎在所有地方都读到这个包装器的性能很差,即使我将它用作验证规则,它会不会很糟糕?即使我正在净化输入,我是否应该使用 Chtml::Encode 显示我的输出文本?
我处理数据的粗略计划是:
yii - Yii - Cactiveform、cform、表单生成器 - 混淆
这是 Yii 上的三个概念,我真的不明白我们应该在什么场景下使用什么?
谁能解释一下那些 Yii 元素,我们应该在什么情况下使用它们?
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
file-upload - 除非明确标记为“安全”,否则 Yii 文件 CFormInputElement 不会显示
我正在尝试使用 Form Builder 来构建一个简单的文件上传提示。我想指定文件的规则类似于
但有些不对劲。'safe'
仅当我将元素明确标记为(并删除'file'
规则)时,才会出现文件上传元素。我错过了什么?
模型/UploadForm.php
意见/外联网/uploadForm.php
控制器/ExtranetController.php
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 正确填充下拉列表并正确绑定到模型的语法一无所知。
php - 如何在 Yii 上创建新的表单模型?
我只是一个愚蠢的开始 yii 和整个 mvc 的东西。我想知道是否可以创建一个表单,它只会向我发送一封电子邮件,其中填写了所有字段。没有数据库存储,没有主要规则。
使用登录和联系表格等预制模型时,我从来没有遇到过问题。那些工作正常。所以现在我正在尝试一个测试表格,看看我是否可以创建一个工作模型,但它似乎不起作用。
看法:
模型:
默认控制器:
我可能遗漏了很多东西,但我一直在研究,找不到获取表单信息的方法。如果有人能告诉我正确的方向,我将不胜感激。
我现在只想获取表单值并通过电子邮件发送它们。谢谢
php - yii, CactiveForm 复选框列表
我真的想渲染一个复选框列表,之前从未尝试过它,所以我遇到了问题,我试图渲染每个列或属性的所有复选框,这是动作控制器:
这是带有另一种方法的模型
我试图制作复选框列表的表单
和文件的内容,如果你问
有一些列是自动生成的,我将它们的名称存储在这个文件中,用空格分隔,一切似乎都很好,直到我到达表单上的复选框列表,它给了我类似 strpos() 之类的错误,我该怎么做此复选框用于呈现并将 1 个数据保存到由特定列检查的那些?