Validationの巻HackHHVM/Hack向けに作ったオレオレマイクロフレームワークにおけるHTTPリクエストのバリデーション実装方法を紹介したいと思います!Hackならではの機能を使ってバリデーションの仕組みを用意しています。ような挙動で、バリデーションを実行することができます。して、このエンドポイントにアクセスした時にバリデーションを実行するようにします。実装していればなんでも構いません。ファイルに記述します。},];忘れずにServiceModuleクラスにインスタンス生成方法を記述しましょう。}}これでrouteの準備ができました。Validationクラスを作るここではstringの値が送られているかどうか、というバリデーションを例にしますが、せっかくなのでHackのshapeを利用して型チェックバリデーションとして実装します。クラスとして作成します。クラスを継承して実装します。}}ContentRequestShapeContentRequestShapeは、リクエストで受け取る値をshapeを使って型を記述しています。propertyフレームワークで、バリデーションエラー時はExceptionを投げないようになっています。trueにすることでExceptionHandlerクラスで自由にレスポンスを操作することができます。Laravel/LumenのExceptionHandlerクラスの使い方とほぼ同じです。型チェックと値自体のバリデーションの両方を実装することができるようになっています。型チェックが先に実行され、assertValidateResultがバリデーション実行後の結果を返却します。詰める、という具合です。スローされるため、Vectorに失敗したことを示す文字列を追加しています。実装後このバリデーションクラスをServiceModuleクラスで登録します。},];これでバリデーションの準備が整いました。クラスで実行するようにするには次の通りです。この部分がバリデーション指示になります。最後にExceptionHandlerクラスで任意のレスポンスを返却するように記述すればOKです。クラスが含まれていますので、そのクラスを利用します。クラスがスローされた場合に返却されるレスポンスを変更しました。チャレンジしてみてください。以上、簡単なようでちょっと面倒臭いバリデーションの実装方法でした。その1先日、Laravel5.5がリリースされました。Conference2019を開催して月別アーカイブはてなブログをはじめよう!ytakezawaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。