首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC 2验证和总结

MVC 2验证和总结
EN

Stack Overflow用户
提问于 2010-09-10 21:25:00
回答 3查看 916关注 0票数 1

我开始使用MVC 2,我想知道验证摘要是如何工作的?我认为它应该类似于ASP.NET web forms验证摘要控件。首先,我正在做简单的验证,这些.js文件中哪些是必需的?

代码语言:javascript
运行
复制
<script src="<%= Url.Content("~/Scripts/MicrosoftAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcAjax.js") %>" type="text/javascript"></script>
<script src="<%= Url.Content("~/Scripts/MicrosoftMvcValidation.js") %>" type="text/javascript"></script>

我当前的代码如下所示:

代码语言:javascript
运行
复制
<%: Html.TextBoxFor(model => model.ApplicationState) %>
<%: Html.ValidationMessageFor(model => model.ApplicationState) %>

我正在使用我自己的样式,并且我希望文本显示为红色。目前它是黑色的。如果我转到view source,那么正在使用的类是field-validation-valid,还有一个field-validation-error样式。什么时候使用这个类?如果显示my errors,则所使用的样式是字段验证有效的。

我是否应该创建自己的样式,名为field-validation-valid或field-validation-error,并将文本设置为红色?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-10 22:46:44

是的,您必须将错误的样式添加到.css中。如果使用示例帐户/家庭控制器创建新的MVC2应用程序,您可以看到样式是为Site.css中的错误定义的

代码语言:javascript
运行
复制
.field-validation-error
{
    color: #ff0000;
}

.field-validation-valid
{
    display: none;
}

.input-validation-error
{
    border: 1px solid #ff0000 !important;
    background-color: #ffeeee !important;
}

.validation-summary-errors
{
    font-weight: bold;
    color: #ff0000;
}

.validation-summary-valid
{
    display: none;
}

这些是默认设置。显然,您可以进一步自定义它们。

关于您的第一个问题:所有这些脚本文件都是必需的。

票数 3
EN

Stack Overflow用户

发布于 2010-09-11 04:14:58

只有当你想要客户端验证时,javascript文件才是必要的。即使这样,您也不必使用microsoft ajax。您也可以使用jQuery验证来完成此操作。

如果你想为验证帮助器方法提供你自己的类,你可以使用重载:

代码语言:javascript
运行
复制
<%= Html.ValidationMessageFor( m => m.ApplicationState, "Error Message", new { @class = "error-class" }) %>

如果你想包含一个验证摘要(比如ASP.net的validationsummary控件),那么也有一个帮助方法:

代码语言:javascript
运行
复制
<%= Html.ValidationSummary() %>

该方法有许多重载,因此只需查看文档,看看您想要使用哪一个。

票数 1
EN

Stack Overflow用户

发布于 2013-05-01 02:41:47

就像我讨厌使用皮肤一样,如果你创建了一个皮肤文件并使用它,它会改变你所有渲染的控件来使用红色的前色,或者改变成你想要的任何颜色,这样你就可以让你的所有验证再次变成红色,而不需要编辑所有的单独控件。设置CSSClass将覆盖在控件上设置的任何类,这通常是不好的。

在您的皮肤文件中:

代码语言:javascript
运行
复制
<asp:CustomValidator runat="server" ForeColor="Red" />
<asp:RequiredFieldValidator runat="server" ForeColor="Red" />
<asp:CompareValidator runat="server" ForeColor="Red" />
<asp:RangeValidator runat="server" ForeColor="Red" />
<asp:RegularExpressionValidator runat="server" ForeColor="Red" />
<asp:ValidationSummary runat="server" ForeColor="Red" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3684917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档