我正在嘗試使用數據註釋獲取在MVC3中工作的客戶端驗證。我看過類似的帖子,包括這個MVC3 Client side validation not working的答案。MVC3/Razor客戶端驗證沒有觸發
我正在使用EF數據模型。我爲我的驗證創建了這樣的部分類。
[MetadataType(typeof(Post_Validation))]
public partial class Post
{
}
public class Post_Validation
{
[Required(ErrorMessage = "Title is required")]
[StringLength(5, ErrorMessage = "Title may not be longer than 5 characters")]
public string Title { get; set; }
[Required(ErrorMessage = "Text is required")]
[DataType(DataType.MultilineText)]
public string Text { get; set; }
[Required(ErrorMessage = "Publish Date is required")]
[DataType(DataType.DateTime)]
public DateTime PublishDate { get; set; }
}
我的cshtml頁面包含以下內容。
<h2>Create</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Post</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Text)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Text)
@Html.ValidationMessageFor(model => model.Text)
</div>
}
Web配置:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
佈局:
<head>
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
所以,多行文字註釋的作品,並創建一個文本區域。但驗證沒有一項適用於客戶端。我不知道我可能會錯過什麼。有任何想法嗎??如果需要,我可以發佈更多信息。謝謝!
嗨,這可能不再活躍,但我只想問你如何解決這個問題?我在這裏面對完全相同的問題,但我不能得到驗證文本字段..任何想法??謝謝... – shennyL 2011-10-16 05:20:11