我有这个模型:
namespace CameraWebApp.Models
{
public class Images
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ImageId { get; set; }
[Required(ErrorMessage="Please enter your first name")]
public string SubmitterFirstName { get; set; }
[Required(ErrorMessage = "Please enter your surname name")]
public string SubmitterLastName { get; set; }
[ExistingFileName]
public string NameOfImage { get; set; }
[StringLength(140, ErrorMessage="Please reduce the length of your description to below 140 characters")]
[DataType(DataType.MultilineText)]
public string DescriptionOfImage { get; set; }
public string ImagePath { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public DateTime DateAdded { get; set; }
}
}
每个属性上面都有一些数据注释,我用来验证服务器端并在验证摘要中显示错误消息,我的视图如下:
@model CameraWebApp.Models.Images
<video id="video">
</video>
<div id="main">
<h1>
Instructions
</h1>
<ul>
<li>Above: Live video stream from your computer's camera.</li>
<li>Press "Camera button" (right in RED) until you are happy with the photo captured.</li>
<li>Copy and paste the "big text string" into the address bar of your browser.</li>
<li>What do you see?</li>
<li>What applications can you imagine for this UI?</li>
</ul>
</div>
<div id="sidebar">
<div id="canvasHolder">
<canvas id="hiddenCanvas">
</canvas>
</div>
<div id="errorMessages">
@Html.ValidationSummary(false)
</div>
<img id="preview" width="160" height="120" src="http://www.clker.com/cliparts/A/Y/O/m/o/N/placeholder-hi.png" alt="default portrait image">
<!--<a id="button">Camera button</a>-->
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<label>base64 image:</label>
<input id="imageToForm" type="text" name="imgEncoded"/>
<label>First Name</label>
@Html.EditorFor(model => model.SubmitterFirstName)
<label>Last Name</label>
@Html.EditorFor(model => model.SubmitterLastName)
<label>Name of Image</label>
@Html.EditorFor(model => model.NameOfImage)
<label>Image Description</label>
@Html.EditorFor(model => model.DescriptionOfImage)
<input type=button id="button"value=" Camera button"/>
<input type="submit" value="Click this when your happy with your photo"/>
}
</div>
@Html.ActionLink("gfd!!", "DisplayLatest");
<script src="@Url.Content("~/Scripts/LiveVideoCapture.js")" type="text/javascript"></script>
上面的代码显示错误消息很好,我的问题是我尝试开始添加客户端验证并将以下代码添加到我的_Layout:
<script src="http://localhost:55928/Scripts/jquery-1.7.1.js" type="text/javascript"></script>
<script src="http://localhost:55928/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="http://localhost:55928/Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="http://localhost:55928/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
正如我从查看源代码中看到的那样,实际上哪个在客户端进行了验证,但它没有显示任何错误消息?有谁知道 A:为什么它不再显示我的错误信息?B:验证客户端时如何在验证摘要中显示我的错误消息?