【问题标题】:onSubmit() vs isSubmitted() in Agile Toolkit敏捷工具包中的 onSubmit() 与 isSubmitted()
【发布时间】:2012-06-19 13:04:24
【问题描述】:

很抱歉问这个问题,但是对于以前的阅读、重新阅读文档和所有的变化,我很困惑...... 哪个是测试表单onSumbit()isSubmitted() 的首选方法?

【问题讨论】:

  • 我在agiletoolkit网站的所有示例中都看到了它们
  • 提供一个网址会让你得到更好的答案。
  • 例如这个url有两种​​方法agiletoolkit.org/learn/app/auth

标签: php user-interface frameworks atk4


【解决方案1】:

这两种方法本质上是做同样的事情。 isSubmitted() 已在较旧版本的 PHP 中使用,在该版本中不容易创建闭包。

if($form->isSubmitted()){
    ...
}

但是,使用闭包,您现在可以像这样创建函数回调:

$form->onSubmit(function($form){
    ...
});

https://github.com/atk4/atk4/blob/master/lib/Form/Basic.php#L401

一个显着的变化是 onSubmit() 将 capture some exceptions 并自动将它们显示在表单上。因此,如果你的模型有这个

throw $this->exception('Wrong data','ForUser')->setField('name');

然后“名称”字段将突出显示此错误。

【讨论】:

    【解决方案2】:

    看起来你有两个不同的东西互相混淆。

    onSubmit() 是一个原生 JavaScript 事件,在提交表单时触发,并在表单发送到服务器之前执行您希望的任何操作(如果它甚至被发送)

    isSubmitted() 看起来像一个自定义函数,可能在提交表单时调用,但它不是 JavaScript 原生的,可能是框架的一部分。

    【讨论】:

    • 哦,不好意思,我说的是敏捷工具包框架。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    相关资源
    最近更新 更多