标签: validationsummary

Custom ValidationSummary模板Asp.net MVC 3

我正在与Asp.Net MVC3合作开展一个项目

在我拥有的视图中@Html.ValidationSummary(true),通常它产生

<div class="validation-summary-errors">
    <ul>
        <li>Something bad Happened!</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

如何将此ValidationSummary扩展到MyValidationSummary并生成如下所示的Html代码模板:

<div class="notification warning"> 
    <span></span> 
    <div class="text"> <p>Something bad Happened!</p> </div> 
</div>
Run Code Online (Sandbox Code Playgroud)

validationsummary asp.net-mvc-3

63
推荐指数
3
解决办法
5万
查看次数

将ValidationSummary MVC3显示为"alert-error"Bootstrap

我想展示一个带有"alert-error"Bootstrap样式的ValidationSummary mcv3.

我正在使用Razor视图,并使用此代码显示模型错误:

 @Html.ValidationSummary(true, "Errors: ")
Run Code Online (Sandbox Code Playgroud)

它生成如下HTML代码:

<div class="validation-summary-errors">
   <span>Errors:</span>
   <ul>
      <li>Error 1</li>
      <li>Error 2</li>
      <li>Error 3</li>
   </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

@Html.ValidationSummary(true, "Errors:", new { @class = "alert alert-error" })   
Run Code Online (Sandbox Code Playgroud)

它工作正常,但没有关闭按钮(X)

它生成如下HTML代码:

<div class="validation-summary-errors alert alert-error">
   <span>Errors:</span>
   <ul>
      <li>Error 1</li>
      <li>Error 2</li>
      <li>Error 3</li>
   </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

但Bootstrap警报应该有这个按钮进入div:

<button type="button" class="close" data-dismiss="alert">×</button>
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?


这个作品! - 谢谢Rick B.

@if (ViewData.ModelState[""] != null && ViewData.ModelState[""].Errors.Count() > 0) 
{ 
   <div class="alert alert-error"> 
      <a class="close" data-dismiss="alert">×</a> 
      <h5 class="alert-heading">Ingreso Incorrecto</h5> 
      @Html.ValidationSummary(true)
   </div>
} 
Run Code Online (Sandbox Code Playgroud)

我还必须从"site.css"中删除".validation-summary-errors"类,因为该样式定义了其他字体颜色和权重.

css asp.net-mvc validationsummary twitter-bootstrap

51
推荐指数
7
解决办法
6万
查看次数

即使在页面加载时,也始终显示Html.ValidationSummary(false,"message")

我正在使用客户端验证,我希望以下消息仅在我出错时显示.我试图在任何字段无效的情况下使用此一般错误.
目前

"*表示必填项"

在验证之前总是显示.

<%: Html.ValidationSummary(false, "* denotes required field.")%>
Run Code Online (Sandbox Code Playgroud)

我正在使用模型绑定在客户端和MVC上执行验证.

validation asp.net-mvc validationsummary

42
推荐指数
1
解决办法
2万
查看次数

具有多个ValidationGroups的Page_ClientValidate() - 如何同时显示多个摘要?

ASP.NET 2.0.假设我有两个验证组valGrpOne和valGrpTwo; 和两个验证摘要valSummOne和valSummTwo; 分解部分的原因纯粹是美学.一个提交按钮,触发两个组的验证.

现在我想触发客户端验证,并希望同时显示BOTH验证摘要;

所以我设置了一个Javascript函数,它被调用btnSubmit,并且在这个函数中我调用Page_ClientValidate("valGrpOne")Page_ClientValidate("valGrpTwo")连续; 问题只是一次显示一个摘要(但我真的希望两者都显示!)

有关如何从客户端代码同时显示两个验证摘要的任何想法?

非常类似于以下问题,它为服务器端提供了答案. 使用单个按钮触发多个验证组?

asp.net validation validationsummary

24
推荐指数
2
解决办法
5万
查看次数

如何在验证失败后阻止页面跳转到顶部位置?

我有一个简单的aspx页面,其中包含一些TextBox和一个提交按钮.某些字段是必需的,按钮下方是ValidationSummary.完整的表单大于屏幕高度,因此必须向下滚动才能到达提交按钮.如果我没有填写所有必填字段并单击提交验证按预期失败,验证摘要会在按钮下方显示一些信息消息.验证发生在客户端上,不会发生回发.

所以这一切都是有希望的.但令人不安的是,当我点击提交按钮时,页面会移动("跳转")到顶部位置.要查看验证摘要,必须再次向下移动页面.

我试图将ShowSummary属性设置为false(这没有多大意义):验证仍然有效(没有回发)但在这种情况下页面不会移动到顶部位置.所以问题似乎取决于渲染验证文本.

有没有办法防止这个页面跳转?

先感谢您!

更新:

我上面描述的行为似乎不依赖于浏览器.我已经在五种不同的浏览器中进行了测试,并且它在各处都是相同的.

asp.net validation validationsummary

24
推荐指数
3
解决办法
4万
查看次数

使CustomValidator与ValidationSummary messagebox一起使用的优雅方法

我以前遇到过这个问题,但从未完全解决过.我有一个包含多个验证器和CustomValidator的表单.

<asp:Label ID="lblMemberNum" runat="server" Text="Membership #:" CssClass="LabelMedium"  ></asp:Label>
<asp:TextBox ID="txtMemberNum" runat="server" CssClass="TextBox" ></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvMemberNum" SetFocusOnError="True" runat="server"
    ControlToValidate="txtMemberNum" ErrorMessage="[ Membership # ] is required"
    CssClass="ValidationMessage" Display="Dynamic" >*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revMemberNum"  Display="Dynamic" runat="server" 
    ControlToValidate="txtMemberNum" CssClass="ValidationMessage" 
    ErrorMessage="[ Membership # ] can only contain letters" 
    ValidationExpression="^([a-zA-Z\d]+)$" >*</asp:RegularExpressionValidator>
<asp:CustomValidator ID="cvMemberNum" runat="server" 
    CssClass="ValidationMessage" Display="Dynamic"
    ControlToValidate="txtMemberNum" ValidateEmptyText="false"
    OnServerValidate="cvMemberNum_Validate" 
    ErrorMessage="This membership number is already registered">*</asp:CustomValidator>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
    CssClass="ValidationMessage" 
    ShowMessageBox="True" ShowSummary="False" />
Run Code Online (Sandbox Code Playgroud)

在服务器端:

protected void cvMemberNum_Validate(object source, ServerValidateEventArgs args)
{
    try
    {
        args.IsValid  = (!CampaignRegistration.IsMemberRegistered(args.Value));
    }
    catch
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net customvalidator validationsummary

19
推荐指数
3
解决办法
4万
查看次数

如何在验证摘要中显示MVC 3客户端验证结果

我有一个注册表单,我使用客户端验证(在我的视图模型上指定Required,StringLength等).表格目前几乎是脚手架创建它的方式:

@using (Html.BeginForm("Index", "Registration"))
{
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Registration details</legend>
        @Html.ValidationSummary(false, "Please correct these errors:")
        @Html.ValidationMessageFor(model => model.Username)
        <div class="editor-label">
            @Html.LabelFor(model => model.Username)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Username)
        </div>
        <p>
            <input type="submit" value="Register" />
        </p>
    </fieldset>
}
Run Code Online (Sandbox Code Playgroud)

唯一的区别是我将ValidationMessageFor移动到ValidationSummary下面的右上角.

我想要做的是在验证摘要中显示客户端验证错误.目前,它们只显示在表单的顶部,但未使用验证摘要.如何使用验证摘要显示客户端验证错误?这甚至可能吗?

更新

Darin我在新项目中使用了你的代码,当客户端验证开始时,这就是我的样子:

客户端验证http://i56.tinypic.com/i3f320.jpg

我希望在验证摘要中显示这个,并应用验证摘要样式.我还提交了表格,然后看起来像这样:

提交http://i55.tinypic.com/2hqcowh.jpg后

谢谢,

B3N

asp.net-mvc validationsummary asp.net-mvc-2-validation asp.net-mvc-3

15
推荐指数
3
解决办法
4万
查看次数

如果模型无效,则使用excludePropertyErrors = true的ASP.NET MVC Validationsummary呈现为空

假设您有一个标准的ValidationSummary:

<%: Html.ValidationSummary(excludePropertyErrors: true) %>
Run Code Online (Sandbox Code Playgroud)

如果ModelState包含属性的模型错误但不包含模型本身的模型错误,则ValidationSummary将呈现以下HTML:

<div class="validation-summary-errors"><ul><li style="display:none"></li></ul></div>
Run Code Online (Sandbox Code Playgroud)

由于列表周围有红色边框,因此显示为空列表但仍然可见.这对我来说似乎是个错误.我可以关闭ValidationSummary助手将呈现一个空列表吗?

asp.net-mvc validationsummary asp.net-mvc-validation

10
推荐指数
1
解决办法
2107
查看次数

为什么即使ModelState有效,ValidationSummary也会出现?

我在表单的顶部有@ Html.ValidationSummary("请检查以下错误:")的视图.始终呈现文本"请检查以下错误:" ,无论模型状态是否有效(我已在视图和控制器中验证了模型状态).

谁能指出我为什么会这样?我觉得我在这里遗漏了一些非常基本的东西 - 但我很难过!

model-view-controller validationsummary

7
推荐指数
1
解决办法
2011
查看次数

如何在ASP.NET MVC视图中找出错误计数?

我想使用以下字符串格式化我的ValidationSummary的标题:

"There are {0} errors on this page."
Run Code Online (Sandbox Code Playgroud)

如何在控制器中执行错误并将其添加到ViewData中,如何找出错误数?

asp.net asp.net-mvc validationsummary

6
推荐指数
1
解决办法
4200
查看次数