【问题标题】:unable to display the validation messages from @Html.ValidationSummary() in MVC view无法在 MVC 视图中显示来自 @Html.ValidationSummary() 的验证消息
【发布时间】:2013-04-08 23:55:47
【问题描述】:

我在局部视图中创建了一个相当简单的表单,并将该表单加载到 jquery 对话框中。视图与模型紧密绑定。当用户在没有输入任何输入的情况下点击提交按钮时,我需要显示验证消息。

<div>
    <form method="post" enctype="multipart/form-data" id="ssimForm" action="Home/ProcessUploadedFile"
    onsubmit="return false;">
    <div>
        <h3>
            Select the file to be uploaded :</h3>
        <span>
            <input type="file" name="UploadFileName" id="UploadFileName" /></span>
    </div>
    <div>
        <h3>
            Select the date range :</h3>
        <span class="uslabel">From Date(MM/dd/yyyy): </span>
        <input class="usdate" id="usfromdate" name="StartDate" type="date" />
        <span class="uslabel">To Date(MM/dd/yyyy): </span>
        <input class="usdate" id="ustodate" name="EndDate" type="date" />
    </div>    
    <div>
        <br />        
        <input type="submit" id="submitButton" name="submitButton" value="Process File" />
    </div>
    @Html.ValidationSummary()
    <div class="message-success">
        <span>@ViewBag.Confirmation</span>
    </div>
    <div class="message-error">
        <span>@ViewBag.Error</span>
    </div>
    </form>  
</div>

现在真正的问题来了。当我提交表单时,我能够看到填充了消息的validationSummary 对象,但它们没有在屏幕上呈现。

如果我用 jquery ajax 调用的响应替换对话框的内容,我能够看到消息,该调用从服务器端获取整个视图。我不想采用这种方法,因为我相信这不是在 MVC 中返回验证摘要的正确方法。

我错过了什么吗?任何帮助表示赞赏。

【问题讨论】:

    标签: asp.net-mvc validation razor


    【解决方案1】:

    我不知道你为什么没有@using (Html.BeginForm()) { } 块。

    这是我的博客文章,提供了一种快速简便的方法来设置 MVC3+ 的验证摘要 + 不显眼的验证。
    http://geekswithblogs.net/stun/archive/2011/01/28/aspnet-mvc-3-client-side-validation-summary-with-jquery-validation-unobtrusive-javascript.aspx

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    相关资源
    最近更新 更多