emacs-widget-mvc
emacs-widget-mvc copied to clipboard
keep the input situation when validation is failed
現状だと、wmvc:validate-fieldsでvalidationが失敗した時、
modelを更新しないでwmvc:reload-bufferしているので、入力内容が消えてしまいます。
あら。手元で試すと、保持されているのですが、環境の違いかな。
(wmvc:bind-from-widgets ctx) で、ctx中身のmodelも変更されるので、代入しなくてもいいかなと思っています。たぶん。
↑これは意図した動作ですが、確かに副作用的な動きは関数的でなくて気持ち悪いかも知れません。 他のOOP的言語のMVCなフレームワークのように、モデルオブジェクトを変更すると、その参照を見ている他のオブジェクト(ビューとか)が、モデルにすぐにアクセスできるといいかなと思っただけなので、ctx(やmodelも)をイミュータブルにして、変更後をまるごと受け取るというふうにしてもいいかも知れません。
#4 の変更によって起きていたことに気づいてなかったです。。すいません。 やっぱり意図的にそうしてたんですね。 僕は理解が浅くて、alistを今までオブジェクト的に見れていなかったので、 ハマってしまいましたが、他のMVCフレームワークを意識した設計ということなら、 このままで良いかもですね。