3

私はMVC4を使用しています。

検証は失敗しますが、検証エラーメッセージは表示されません。

これが私のモデルです。

public class Configuration
{
    public int Id { get; set; }

    [Required(AllowEmptyStrings = false, ErrorMessage = "Site name is required.")]
    [MinLength(6, ErrorMessage = "Name should be at least 6 characters.")]
    public string SiteName { get; set; }
}

コントローラ。

[HttpPost]
    public ActionResult Create(Configuration configItem)
    {
        if (ModelState.IsValid)
        {
            // do something.
        }
        return View("Index", configItem);
    }

ビューは

@model Models.SitesConfig.Configuration
@{
ViewBag.Title = "Sites Configurations";
}
<div>
    @Html.ActionLink("Sites List", "List", "SiteConfig")
</div>
@using (Html.BeginForm("Create", "SiteConfig", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <fieldset>
        <legend>New Satellitesite</legend>
        <div>
            @Html.LabelFor(m => m.SiteName, "Name")
            @Html.TextBoxFor(m => m.SiteName)
            @Html.ValidationMessageFor(m=>m.SiteName)
        </div>
        <br />

        <input type="submit" value="Save" />

    </fieldset>
}

検証を行うためのより良い方法があるかどうかも教えてください。

4

5 に答える 5

4

何が問題だったのかわかりません。アプリケーションをクリーンアップしてビルドした後、エラーメッセージが表示されます。

ありがとう、ナレシュ

于 2012-09-06T11:53:17.693 に答える
1

@Html.ValidationSummary("Please correct the errors")ビューにあるはずです

于 2012-09-06T11:04:37.527 に答える
0
@using (Html.BeginForm("Create", "SiteConfig", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
  @Html.ValidationSummary()
    <fieldset>
        <legend>New Satellitesite</legend>
        <div>
            @Html.LabelFor(m => m.SiteName, "Name")
            @Html.TextBoxFor(m => m.SiteName)
            @Html.ValidationMessageFor(m=>m.SiteName)
        </div>
        <br />

        <input type="submit" value="Save" />

    </fieldset>
}

これを試してください..@Html.ValidationSummary()は、エラーメッセージの表示に役立ちます。

于 2014-06-09T05:17:53.410 に答える
0

上記の解決策を試しても機能しない場合は、Viewファイルをフォーマットする必要があります。[編集]-[詳細]-[ドキュメントの書式設定]に移動します。プロジェクトをデバッグしている場合は上記の手順が表示されないため、ファイルをフォーマットしようとするときはデバッグモードにしないでください。

于 2016-05-19T05:58:04.240 に答える
0

ビューがScriptsタグのjQuery検証を参照していることを確認してください-

@section Scripts
{
    @Scripts.Render("~/bundles/jqueryval")
}
于 2017-11-30T16:21:55.963 に答える