1

很抱歉问这个问题,但是在阅读之前,重新阅读文档以及我感到困惑的所有更改......哪个是测试表格的首选onSumbit()方法isSubmitted()

4

2 回答 2

1

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

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

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

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

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

一个重要的变化是 onSubmit() 将捕获一些异常并自动将它们显示在表单上。因此,如果您的模型有这个

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

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

于 2012-06-21T09:31:03.803 回答
0

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

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

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

于 2012-06-19T13:09:26.950 回答