私はhtmlHelper ValidationMessageForを使用しています。検証エラーが発生しましたが、要求がサーバーに送信され、ModelState.IsValidがtrueになりました。何らかの種類の検証エラーがある場合、ModelState.IsVaidがfalseになる可能性がありますか?私はクライアント側でそれを行うことができますが、私はそれをサーバー側で開発したいと思います。あなたが代わりにHtml.TextBoxFor
の仕事に検証にHtml.EditorFor
を使用する必要がMVC検証エラーがありますが、リクエストがサーバーに送信され、ModelState.IsValidがtrueです。
[DataType(DataType.EmailAddress)]
[EmailAddress(ErrorMessage = "Wrong Email")]
public string ElectronicMailAddress { get; set; }
ビュー
@Html.LabelFor(model => model.ElectronicMailAddress, new { @class = "control-label"})
@Html.TextBoxFor(model => model.ElectronicMailAddress, new { @class = "form-control"})
@Html.ValidationMessageFor(model => model.ElectronicMailAddress, "", new { @class = "text-danger" })
コントローラ
[HttpPost]
public JsonResult CallingFunction()
{
if (ModelState.IsValid)
{........}
}
「リクエストはサーバーに送られました」と説明してください。それはフォームPOSTがコントローラに送信されたということです(これは正常な動作であり、どのようにするべきか)。あるいは、コントローラがアイテムが何も間違っているかのように処理したかどうか(おそらく、if(ModelState.IsValid){...} 'がスローされた)少なくともプログラムしなければならないものです。 –
'ModelState.IsValid'の使い方の詳細はこちらをご覧ください:https://www.asp.net/mvc/overview/older-versions/getting-started-with-aspnet-mvc4/adding-validation-to-the -モデル –
@Peter BIに私の質問を編集 –