Umbraco SurfaceController
でフォームをポストバック中にモデルを検証すると、ModelState.AddModelError
を使用してユーザーにフィードバックを提供するための検証エラーメッセージを追加できません。なぜどんなアイデア?UmbracoはSurfaceControllerのHttpPost中にAddModelErrorを実行できません
ModelState.AddModelError
[ChildActionOnly]
レンダリング方法で問題なく使用できます。
[ChildActionOnly]
public ActionResult VerifyEmail(VerifyEmailModel model)
{
// This DOES work
ModelState.AddModelError("SomeProperty", "Some error message to display.");
return View(model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult VerifyEmailSubmit(VerifyEmailModel model)
{
// This DOESN'T work
ModelState.AddModelError("SomeProperty", "Some error message to display.");
return CurrentUmbracoPage();
}
この問題を回避する方法はありますか。
私はカスタムSystem.ComponentModel.DataAnnotations.ValidationAttribute
をコード化しようとすることができますが、私が必要とする検証は他のモデルプロパティに基づいてデータを参照する必要がありますので少し複雑になり始めます。
私はUmbracoフォーラムにこれをクロス投稿しました.Umbraco開発者がスタックオーバーフローの代わりにもっとアクティブになっている場合に備えて - https://our.umbraco.org/forum/templates-partial-views-and-macros/76443- httpsost-in-surfacecontrollerの間にaddmodelerrorはできません – Gavin