質問: "AtLeast21")]//ここにかきたい public async Task OnPostAsync() { //処理2 } } ``` ポリシーでは上記のような実装は難しいでしょうか? 処理2の中で、権限を満たすかどうかのメソッドを書くしかないでしょうか? ご存知の方がいたら知見を頂けると嬉しいです。
回答: > > あるポリシーを満たさないユーザーに対して、ページの表示はできるけど、POSTから登録はされたくないというようなことを行いたいです。 > > > その「ポリシー」というのがどういう条件でどのような判定をし、結果ユーザーにどういう応答を返すのか不明ですのでハズレかもしれませんが・・・ 組み込みで用意されているユーザー入力の検証機能を利用して POST 送信されたときに「ポリシー」を満たすか否かを検証し、検証結果が NG のときはエラーメッセージとともに差し戻すということをしてはいかかでしょう。 以下の記事は Model のプロパティに CustomValidation 属性を付与して、佐藤という苗字の場合は二十歳以上でなければならないということを検証するものです。 CustomValidation 属性 同様なことはカスタムモデルバインダや IValidatableObject を継承したカスタムモデルを使っても可能です。詳しくは以下の記事を見てください。 カスタムモデルバインダ (Core 3.1) IValidatableObject を継承したカスタムモデル