返信の受付は終了いたしました。
-
-
- 読み込み中...
フロントのバリデートは簡単に突破される飾りでしかないから、基本はバックエンド側でするってのが前提。その上で、必要最低限だけフロントで実装する感じかな。JSをまったく知らない人にとってはしんどいかもだけど、バニラで書いても、わりと入門的な技術だと思う。 -
-
-
- 読み込み中...
もちろんバックエンドもやってますよ。
正規表現の配列渡したら、フロントのバリデーターと、バックエンドのメーラーのテンプレートが生成できるジェネレーター作ってます。 -
-
-
- 読み込み中...
ただ、プラグインがないと何もできない、みたいなJS書けない人もいると思うので、そういう皆さんはどうされてるのかな?
→そういう人はjquery使うし、そもそもその仕事受けないような... -
-
-
- 読み込み中...
ありがとうございます。調べてみます!
標準のpatternも、実はかなり出来るヤツなんですよね!
onSubitじゃなくて、onBlurかonInputで発火させたいので使ったことないのですが、機会があればやってみようと思います。 -
-
-
- 読み込み中...
僕の場合は、フロントで単独バリデート処理すると、万が一、バックエンドと差異が出た時に面倒(メアドなどは特に)なので、入力内容を都度バックエンドに渡す処理書いてますよ。ロジックはバックエンドにあって、それをフロントの入力時にも走らせるって感じです。 -
-
-
- 読み込み中...
もうどの主要なバリデーターもメンテされておらず、ブラウザが持ってるバリデーション機能を使え、となっている。ブラウザを信じよう(笑)。<input> の type の種類や required、pattern などなど。 -
-
-
- 読み込み中...
なるほどなるほど、それは一つアリですね。
確かにバックエンドとフロントエンドのバリデーション差異は問題で、それを防ぐためにジェネレーター作ったんですが、後からの修正は結局同じことになるのが課題といえば課題でした。
ただ、都度バックエンドに渡す処理だと、ちょっとプライバシーポリシー的な面で考査が必要かも…
クライアントのプラボ内容次第ですが、送信ボタンを押す前にバックエンドに情報を送るのを良しとするか否か。もちろん、バックエンドに情報を送ったからと言って、その情報の記録を取るわけではないですが、「送信ボタンを押す前に情報を送信しない」という文言を明記しているクライアントもあったので、そういうとこを気にするクライアントには事前に確認取らないとですね… -
-
-
- 読み込み中...
受けないか、受けて外注するでしょうね。
というか、周りに多いんですよね。お問い合わせフォーム作る技術力なくて、外注するところが。
お問い合わせフォームすら作れなくて、Web受注すんなよ、っていうw -
-
-
- 読み込み中...
pattern属性いいですよね。自分で作ったバリデーションライブラリは、JS側に正規表現のパターンを持たせてますが、将来的にはpattern属性から取るようにしようかと思ってます。 -
-
-
- 読み込み中...
あーまぁ確かに...
ワードプレスで組まれることが多いから減ったけど
静的なサイトだとフォームだけの依頼とかたまに来るな -
-
-
- 読み込み中...
あのあと、色々考えてジェネレーターの内容を見直しました。
新たにバリデーションの定義ファイルをJSONで作るようにし、フロントからはfetch、バックエンド(PHP)からはfile_get_contentsで読み込み、定義を共通化することにしようと思います。
これであれば、送信前に内容をサーバーサイドに送らなくてすみそうです。 -
-
-
- 読み込み中...
JSとPHPで定義を共有できればいいわけですから、それもひとつの方法ですね。
昨今のフロントエンドでは、typescirptなどからトランスパイルすることが多いでしょうから、いわゆるJSコンパイル時に定義ファイルを読み込むという方法でもいけますね。僕は、定数をJSとPHPを共有する時に、この方法を用います。 -
昔は、jQuery-validation.jsってあったけど、今はjQuery流行らないし、うちもJSはVanillaかTSで書くしってことで、フロントバリデーションは自分で書いてます。
ただ、プラグインがないと何もできない、みたいなJS書けない人もいると思うので、そういう皆さんはどうされてるのかな〜、と。
なんかおすすめのライブラリとかあったら、教えてください!