basercms icon indicating copy to clipboard operation
basercms copied to clipboard

ブログコメント:メールアドレスを入れなくても投稿できてしまう

Open rabbitchang opened this issue 1 year ago • 6 comments

ブログコメント:メールアドレスが必須表示されているが、実際には入力しなくてもコメントできてしまう

baserCMS version : 5.1.3

スクリーンショット 2024-11-08 11 38 01

rabbitchang avatar Nov 08 '24 02:11 rabbitchang

こちら着手します!

kumabecu avatar May 12 '25 08:05 kumabecu

@kumabecu どちらかというと表示画面の文字を任意とするところを必須にしてしまっている気がします。 basercms4時代のblog_comments_scripts.jsを参照してもメールアドレスは必須判定しておらず、送信できます。 https://github.com/baserproject/basercms/blob/b75f280c72432ebe981b7eff9b8d35fa9fda28df/lib/Baser/Plugin/Blog/webroot/js/blog_comments_scripts.js#L38

あとバックエンド側のbasercms5のBlogCommentsTable.phpのvalidationDefaultメソッドもメールアドレスも必須になっていないです。 この観点から元々は任意としたかったんだと思いました。

謎なのがbasercms5.1系のbundleされたblog_comment.bundle.jsとblog_comment.jsの内容に相違があるように思えます。 (ビルドまでして確認したわけではないですが、5.1系はフロントのemailのバリデーションが実装されていそう。)

https://github.com/baserproject/basercms/blob/89e2554f944d405bb526fe11051bb8c8837424a9/plugins/bc-front/src/bc_blog/js/blog_comment.js#L154 https://github.com/baserproject/basercms/blob/4ec1cabcbfbf57c43c898129ee58116c86820ee6/plugins/bc-front/src/bc_blog/js/blog_comment.js#L154

teratai3 avatar May 22 '25 12:05 teratai3

@teratai3 ありがとうございます!コメントいただき嬉しいです! 私も調査していたところ確かにvalidationは必須になっておらず、jsが怪しいなと思っていたところでした。

4系ではコメントは任意だったというところから、まずは仕様の確認をすべきというところですかね。

kumabecu avatar May 23 '25 01:05 kumabecu

@ryuring こちらコメント投稿時のメールアドレスは必須設定とすべきでしょうか? 4系では任意であったという情報をいただいたため確認させていただきました。

kumabecu avatar May 23 '25 01:05 kumabecu

いえ、お手間を取らせ申し訳ないです。 4系も表示画面自体は必須とラベル表示されているので、どちらが正しい仕様なのか微妙なんですよね... 必須にするなら、フロントのバリデーションチェックとバックエンド側のチェックどちらかを実装する際に気付きそうですし

teratai3 avatar May 23 '25 10:05 teratai3

@kumabecu 過去ログを見ると、「すべての項目に必須マークがなかったので、間違って一気にすべてのフィールドに付けた」という状況のようです。 https://github.com/baserproject/basercms/commit/4eb2e8b1e178dd902e8d1bedb4cc521acd9d4f34

モデルのバリデーションにEメールの必須がないので、なくても良いというのが現状ですね。 一旦は矛盾を解除するためにラベルを外して、その後に必須にするべきかを考えた方が良さそうです。

ryuring avatar May 25 '25 06:05 ryuring