gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 2 RC 客户端验证不起作用

转载 作者:行者123 更新时间:2023-12-04 16:25:14 26 4
gpt4 key购买 nike

我似乎无法在 MVC 2 RC 应用程序上进行任何客户端验证。

我的模型有以下几点:

public class ExampleModel
{
[Required(ErrorMessage="Test1 is required")]
[DisplayName("Test1")]
public string Test1 { get; set; }

[Required(ErrorMessage="Test2 is required")]
[DisplayName("Test2")]
public string Test2 { get; set; }
}

我的观点有以下代码:
<% Html.EnableClientValidation(); %>
<%= Html.ValidationSummary(true, "Test was unsuccessful.") %>
<% using (Html.BeginForm()) { %>
<div>
<div class="editor-label">Test1:</div>
<div class="editor-field">
<%= Html.TextBoxFor(m => m.Test1) %>
<%= Html.ValidationMessageFor(m => m.Test1) %>
</div>

<div class="editor-label">Test2:</div>
<div class="editor-field">
<%= Html.TextBoxFor(m => m.Test2) %>
<%= Html.ValidationMessageFor(m => m.Test2) %>
</div>

<p>
<input type="submit" value="Test" />
</p>
</div>

我将这两个字段留空并单击“测试”按钮,它会直接转到 Controller 的后处理程序,而不会发生客户端验证。我不确定我错过了什么。

我的 View 中还包含以下 javascript(不确定是否需要全部):
<link href="../../Scripts/jquery-1.3.2.min.js" type="text/javascript" />
<link href="../../Scripts/jquery.validate.min.js" type="text/javascript" />
<link href="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript" />

任何想法我做错了什么。我觉得我缺少一些简单的东西,而且 MVC 2 的文档很少。

编辑:我已经添加了链接:
<link href="../../Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript" />
我已将该文件包含在我的项目中,我必须从答案中的链接中下载该文件。仍然根本不工作。还有其他想法吗?

编辑:我正在将 Visual Studio 2008 与 MVC 2 RC( 不是 beta )一起使用,我正在寻找任何可下载或发布的使用 RC 版本的客户端验证示例。

最佳答案

当您从 MVC 2 Beta 更新项目时,请使用: /src/MvcFutures/MicrosoftMvcJQueryValidation.js 来自 MVC 2 RC 源代码包 ( link )。较旧的 Beta 版本无法与 RC 中的 jquery.validation 一起正常工作。需要的javascript文件是:

<script src="/Scripts/jquery-1.3.2.min.js" type="text/javascript" />
<script src="/Scripts/jquery.validate.min-vsdoc.js" type="text/javascript" />
<script src="/Scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript" />

MicrosoftMvcJQueryValidation.js 的正确版本包含此 $(document).ready() 功能:
// need to wait for the document to signal that it is ready
$(document).ready(function() {
var allFormOptions = window.mvcClientValidationMetadata;
if (allFormOptions) {
while (allFormOptions.length > 0) {
var thisFormOptions = allFormOptions.pop();
__MVC_EnableClientValidation(thisFormOptions);
}
}
});

在文件末尾(在 RC 版本中)。

关于asp.net-mvc - ASP.NET MVC 2 RC 客户端验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1997293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com