見出し画像

TWSNMP FC:自動発見の入力チェックをGO言語サーバー側にも組み込む

浦和レッズ引き分け!猫は試合が始まっても現れませんでした。かみさんが様子を見に行くと熟睡していたそうです。後半の途中からやってきましたが少し甘えてご飯を食べた後、試合終了を観ないで去っていきました。やっぱり勝たない試合は観ないのかもしれません。次の試合は試合開始前から観に来ることを祈ってます。
さて、昨日、Nuxt.js+Vuetifyの画面側に入力チェックを追加しました。でも、これだけだと画面上にエラーが表示されている状態

画像1

でも<開始>ボタンをクリックしてGO言語のサーバー側にリクエストを送信します。画面側の<開始>ボタンをクリックした時の処理でエラーチェックして送信しないようにしてもよいのですが、ブラウザーからではなくWeb APIとしてリクエストを受信した場合にも対応したほうがよいのでGO言語のサーバー側の処理に入力チェック(Validate) を組み込むことにしました。
まず利用しているWebフレームワークのマニュアルで調べました。

によるとフレームワークに組み込まれている標準の入力チェックはないが、

を利用する方法が書いてありました。この方法を使うことにしました。
書いてある通りにカスタムバリデータを組み込んだら入力チェックしたいパラメータを受け取る構造体にチェックするルールを追加します。

画像2

validateの部分です。

validate:"required,ipv4"

と書けば、項目は必須でIPアドレスの形式ということです。

validate:"required,gte=1,lte=10"

は、必須で1以上、10以下の数値ということです。
ルールを記述するため必要な情報は、

にあります。何でもできそうです。
チェックする部分は、

画像4

のようにすればよいです。組み込んだ結果、

画像3

です。今朝の開発は、

です。今日は休みなので昨日組み込んだ画面側の入力チェックと今朝のGO言語側の入力チェックを自動発見以外の画面にも組み込みたいと思います。沢山あるので肩こりがひどくなりそうです。
明日に続く。

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。