emacs-widget-mvc icon indicating copy to clipboard operation
emacs-widget-mvc copied to clipboard

keep the input situation when validation is failed

Open aki2o opened this issue 11 years ago • 2 comments

現状だと、wmvc:validate-fieldsでvalidationが失敗した時、 modelを更新しないでwmvc:reload-bufferしているので、入力内容が消えてしまいます。

aki2o avatar Dec 21 '14 00:12 aki2o

あら。手元で試すと、保持されているのですが、環境の違いかな。

(wmvc:bind-from-widgets ctx) で、ctx中身のmodelも変更されるので、代入しなくてもいいかなと思っています。たぶん。

↑これは意図した動作ですが、確かに副作用的な動きは関数的でなくて気持ち悪いかも知れません。 他のOOP的言語のMVCなフレームワークのように、モデルオブジェクトを変更すると、その参照を見ている他のオブジェクト(ビューとか)が、モデルにすぐにアクセスできるといいかなと思っただけなので、ctx(やmodelも)をイミュータブルにして、変更後をまるごと受け取るというふうにしてもいいかも知れません。

kiwanami avatar Dec 22 '14 12:12 kiwanami

#4 の変更によって起きていたことに気づいてなかったです。。すいません。 やっぱり意図的にそうしてたんですね。 僕は理解が浅くて、alistを今までオブジェクト的に見れていなかったので、 ハマってしまいましたが、他のMVCフレームワークを意識した設計ということなら、 このままで良いかもですね。

aki2o avatar Dec 22 '14 13:12 aki2o