首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii2:如何在提交时检测ActiveForm验证

Yii2:如何在提交时检测ActiveForm验证
EN

Stack Overflow用户
提问于 2017-05-30 18:17:12
回答 1查看 372关注 0票数 0

我们有一个包含字段、小时和天的表单。必须指定小时或天,但不能同时指定。我们使用了一个模式表单,Ajax和自定义验证规则,所有这些都工作得很好,以确保一个或另一个在完成表单时是指定和有效的。

问题是如何区分在逐个字段上执行的“普通”验证和在提交时执行的验证。有没有一种方法可以检测表单何时提交(validateOnSubmit),而不是表单数据在输入时发布验证(validateOnChange)?

这可以在最终模型验证时进行检查,但在这一点上,它是一个标准请求,因此表单将正常呈现,而不是更新模态表单。

EN

回答 1

Stack Overflow用户

发布于 2017-05-30 18:57:50

我找到了答案:有条件的必需规则:

代码语言:javascript
复制
[['days'], 'required', 'message' => 'Days or Hours?', 
           'when' => function($model) { return is_null($model->hours );},
           'whenClient' => "function (attribute, value){ return $('#downtime-hours').val() == '';}",
        ],
[['hours'], 'required', 'message' => 'Hours or Days?', 
            'when' => function($model) { return is_null($model->days); },
            'whenClient' => "function (attribute, value){ return $('#downtime-days').val() == '';}",
        ],
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44259486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档