问题标签 [yii-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.

0 投票
1 回答
10072 浏览

php - Yii2: scenarios() model method

There are 2 needed functions: set password when registering and change password, if user forgot it. When user signs up, password length must be at least 4 chars; when changes pass - at least 5 chars.

View is common for registration and changing pass. Obviously, also 2 actions exist, in which either scenario 'signup', either 'change' used. Code snippet in model:

But I want to do do it via scenarios(). How to do it? I'm a beginner in Yii, so did not understand, when and how to use scenarios(). Thanks.

UPD. I need to use scenarios() for ONE field with ONE rule, but DIFFERENT arguments to this one rule. how to define a scenario in Yii2? - it is NOT my case.

0 投票
3 回答
380 浏览

php - $model->validate() 总是返回 false

我阅读了这个问题的类似主题,但我没有找到解决方案。我有一个通过 ajax 加载的表单。当所有数据都有效时,它们不会保存在数据库中并向我显示控制台中的验证错误。在我的用户模型中我 ** set return parent::beforeSave(); in beforeSave method** 这是我的操作:

0 投票
2 回答
90 浏览

php - Yii 中的条件验证规则

Yii 中的自定义验证规则有问题。我有一些字段,如day1s, day1e,day2sday2e。我想在创建新记录之前检查这些属性是否具有存储在我的数据库中的相同值。并检查不同的用户标识。如果一个值已经存在,我想生成一个错误并提示用户更改该值。我想这样做:

这有点工作,但我想修改它。默认值是"00:00",如果我设置了这个规则,那么每次我都会去创建一个新记录,它会生成错误,除了第一次。我想在day1s==00:00. 而且,如果用户发生变化(在我的情况下,用户是 SchoolID)。我很难弄清楚如何做到这一点。提前致谢!

0 投票
3 回答
266 浏览

php - 来自 Yii 1.1 动态表单的唯一电子邮件值

我有一个 Yii 表单接受,first name来自用户。使用链接,用户可以添加这三个元素的多行。last nameemailadd more

对于电子邮件验证,uniquerequired在模型规则中设置,一切正常。我正在使用 JavaScript 在单击add more链接时创建附加行。

问题

在第一行我的值是John, Newman, johnnewman@gmail.com和第二行,我正在输入Mathew, Heyden, johnnewman@gmail.com。在这种情况下,电子邮件地址是重复的。没有任何验证规则 (requireunique) 能够验证这一点。有人可以提出一种更好的方法来验证这一点吗?

更新: 我创建了一个自定义验证函数,我想这足以解决我的问题。有人可以告诉我如何在自定义验证功能中访问整个form data/吗?post data

0 投票
1 回答
2214 浏览

yii2 - Required either one filed in Yii2 ActiveForm

I have a form Message In which there are 2 fields message and file

I want the validator to validate either one of them field as required

Here is what i have done until now but its not working

Here is the code of my form

I also tried to use this but it didnt work as well

I have also tried using inline validation like this

But that did not work out either...

0 投票
1 回答
54 浏览

ajax - TblActiveForm 中的 ajax 验证

我在 TblActiveForm 中遇到了一些问题。我的 1 个动作中的模型很少,我需要在 ajax 中验证它。简单的服务器验证工作正常,但我无法进行 ajax 验证。在视图文件中,我有 3 个选项卡,每个选项卡都显示相应的模型。我没有任何错误消息。这是我的行动:

查看文件:

0 投票
2 回答
2740 浏览

validation - 如何在没有验证规则的情况下在 Yii2 中创建场景?

我有MyEntity.php模型。作为模型脚本的一部分,定义了一些规则和一些场景:

我需要能够有不同的场景,并且对于不同的操作,只有某些验证(通过参数)才能处于活动状态。例如,scenario_one 用于 actionOne,scenario_two 用于 actionTwo 等。

这是控制器的一小部分代码:

现在我想要一个根本不应该有任何验证的场景三。我将在代码中进行额外的检查,以防止在数据库中存储时失败。我只需要确保没有应用任何验证,因为它会阻止我的表单提交。如果我不应用任何方案,则应用默认方案(所有列出的验证都将处于活动状态,这与我需要的方案完全相反)。

0 投票
1 回答
1041 浏览

php - 在 Yii2 中使用带有 ActiveForm 的自定义验证器

我想制作自定义验证功能,如内置验证required。我在这里有示例代码:

模型:

看法:

控制器:

在这个例子中,我有一个年龄字段,这个my_validation函数应该在提交之前检查年龄是否超过 18 岁,如果年龄低于 18 岁则抛出错误。这个验证应该由 ajax 处理,就像required 你尝试提交空的规则一样场地。

0 投票
0 回答
44 浏览

yii2 - 在验证中使用另一个 div 获取错误消息

当我进行验证时 - 我有两个字段:age_from 和 age_to。但他们只有一个错误字段(帮助块)“age_to”。在模型中有规则:

问题 - 当第一个字段有错误时,它不是红色边框。是否有可能为未经验证的字段制作红色边框但消息显示在另一个 div 中?

0 投票
0 回答
39 浏览

validation - 应用于单一和默认场景的验证规则

我正在使用 Yii2 验证器来验证我的属性。我有一个验证器规则,应该通过使用在特定场景下触发,$model->validate('run_special_validation');并且在运行时在默认场景下触发$model->validate();

我知道,我可以定义这样的场景:

我需要的是name单独运行验证,例如通过使用$model->validate('run_special_validation') 并与所有其他验证一起运行$model->validate()

//编辑:我知道,Yii2 中有一个“临时”验证,也许可以使用。(https://www.yiiframework.com/doc/guide/2.0/en/input-validation#ad-hoc-validation)但是有没有办法洞察模型范围?