问题标签 [yii2-validation]
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.
yii2 - Yii2 在创建时更改用户名
我希望我的应用程序检测用户名何时被使用并更改它。事实上,当用户注册自己时,他输入了他的姓氏和名字,用户名是 lastName.firstName。如何检测用户名已被使用以及如何更改它(例如添加一个数字)?
谢谢。
php - yii2 下拉列表中的空值
我有一个活动表单中的下拉列表,我正确显示了数据,但是当我想插入下拉列表的选定值的值时,该值为空。
在我的控制器中:
在我看来 :
在模型中:
我有一个 IntegrityException,因为值为$this->idEtatRessource
null(我的数据库中的主键)
谢谢 !
- -编辑 - -
当我通过$_POST['idEtatRessource']
而不是$this->idEtatRessource
它工作时,我不知道为什么!请帮忙 ;)
yii2 - Yii2:如何验证具有同一模型的多个实例的表单
在我的表格中,我一次更新了同一模型的更多开始和结束日期。见简化形式:
在我需要控制的模型中,如果结束日期在开始日期之后:
我尝试更改选择器,如:Yii2: Validation in form with two instances of same model中所述,但我没有成功。我想我需要在验证 JS 中将 'compareAttribute' 从 'mymodel-start' 更改为 'mymodel- 0 -start':
所以,我寻找类似的东西:
解决方案
该解决方案基于lucas的答案。
在模型中,我重写了 formName() 方法,因此对于每个日期,我都有一个唯一的表单名称(基于现有日期的 ID 和基于新日期的随机数):
然后表格如下所示:
php - 使用 XRegExp 进行 Yii2 验证,\p{L} 不起作用
我正在使用 Yii2 框架,并且我有一个Validator
应该进行客户端验证的框架。我有一个看起来像这样的正则表达式:/^[\\p{L}]+$/u
为简单起见,但我的实际正则表达式有点复杂,但 \p{L} 部分是导致问题的原因。
所以我在验证器类中的代码是这样的:
问题是,这对于 \p{L} 总是失败,但如果我改变类似 /^[AZ]+$/ 的模式,它可以完美地工作。
我正在使用 1.3.0 xregexp-all.js。它被添加到AssetBundle
\assets\AppAsset.php 的一个类中
yii2 - 使用生成表单上的数据进行动态表单操作?yii2
基本上。我有两件事有问题:
- 我正在使用动态表单,用户可以根据需要添加任意数量的输入所有手头的发票。我有一个字段(invoice_loadamount),我想总结所有 invoice_loadamount 字段。因此,如果用户生成 3 个表单,我希望它汇总动态表单一(invoice_loadamount 字段 1)+ 动态表单二。(invoice_loadamount 字段 2)+ 动态表单三(invoice_loadamount 字段 3)。我怎么能做这个?从他生成的每个表格中自动总结这个字段?
- 我的第二个问题是,我想从表(车辆,列vehicle_capacity)中检索数据,然后以这样的方式进行比较,以验证总和是否大于vehicle_maxcap,如果是则给出错误。
我的表格:
我的存档模型:
我的车型:
我的发票模型:
我的控制器:
php - 如果选中复选框,则设置 Yii 场景
如果复选框被选中,我想在文本字段上应用所需的验证,否则没有。我通过场景尝试但它不起作用,对于表单我使用'bootstrap.widgets.TbActiveForm'我的Yii版本:1.1.16-dev
php - Yii2 日期比较在规则中不起作用()
我有一个表格,用户必须输入开始日期和结束日期。
我在规则方法中使用了 compare 属性,因为用户无法输入开始日期之前的结束日期。
这是我在表单模型中的规则方法:
问题是如果用户输入的开始日期为 2016-05-18,结束日期为 2016-04-17,则会显示错误消息并且用户无法提交表单。但是如果用户输入 2016-05-18 的开始日期和 2016-04-23 的结束日期,则没有错误,用户无法提交表单。事实上,只有一天与这条规则进行比较。
编辑 根据这个链接:Yii2 Date compare validation,我创建了一个自定义验证方法,但我使用的是欧洲格式,所以我认为 strtotime 方法不是很好。这是我的 validateDates 方法:
这是此方法的调用:
yii2 - Yii2 : - 三个字段需要一条错误消息
我有日、月和年的三个下拉菜单。当我应用所需条件时,yii2 验证显示所有三个字段的单独错误。但是我想要三个字段的单个错误消息,例如“需要 dob”。
查看文件 :
模型 :
此代码分别向我显示所有三个下拉列表的错误消息。但我想要一个 dob 的错误消息:比如“dob 是必需的”。