これを聞いて申し訳ありませんが、以前の読書、ドキュメントの再読、そして私が混乱しているすべての変更で...フォームをテストするための好ましい方法はどれonSumbit()
ですかisSubmitted()
?
2 に答える
1
どちらの方法も本質的に同じことをしています。isSubmitted() は古いバージョンの PHP で使用されており、クロージャの作成が容易ではありませんでした。
if($form->isSubmitted()){
...
}
ただし、クロージャを使用すると、次のような関数コールバックを作成できるようになりました:
$form->onSubmit(function($form){
...
});
https://github.com/atk4/atk4/blob/master/lib/Form/Basic.php#L401
ただし、重要な変更の 1 つは、onSubmit() がいくつかの例外をキャプチャし、それらをフォームに自動的に表示することです。したがって、モデルにこれがある場合
throw $this->exception('Wrong data','ForUser')->setField('name');
次に、「名前」フィールドがこのエラーで強調表示されます。
于 2012-06-21T09:31:03.803 に答える
0
2 つの異なるものを互いに混同しているようです。
onSubmit()
フォームが送信されたときに発生するネイティブ JavaScript イベントで、フォームがサーバーに送信される前に任意のアクションを実行します (フォームが送信された場合)。
isSubmitted()
おそらくフォームが送信されたときに呼び出されるカスタム関数のように見えますが、JavaScript にネイティブではなく、フレームワークの一部である可能性があります。
于 2012-06-19T13:09:26.950 に答える