【发布时间】:2014-08-26 16:19:35
【问题描述】:
我查看了this SO post 并按照第一个答案所做的操作,我也做了同样的事情,但我仍然无法看到出现的错误。
模型的相关部分是:
[Display(Name = "Verify13", ResourceType = typeof(Resources.Resource))]
public bool Is13 { get; set; }
控制器是:
if (registerModel.Is13 == false)
{
ModelState.AddModelError("REGISTER_0", "You must be 13 of age or older to receive email updates.");
return View(registerModel);
}
视图的部分是:
@Html.ValidationSummary(true)
...
@Html.LabelFor(model => model.Is13)
@Html.CheckBoxFor(model => model.Is13)
@Html.ValidationMessage("REGISTER_O")
我做错了什么?模型的其余部分具有字段属性。整个模型如下图所示。错误消息(必填字段)。除了这个之外,每个错误都会出现。
public class RegisterViewModel
{
[Display(Name = "FirstName", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "FirstNameRequired")]
[StringLength(50, ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "FirstNameLong")]
public string FirstName { get; set; }
[Display(Name = "LastName", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "LastNameRequired")]
[StringLength(50, ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "LastNameLong")]
public string LastName { get; set; }
[Display(Name = "Email", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "EmailRequired")]
[RegularExpression(".+@.+\\..+", ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "EmailInvalid")]
public string Email { get; set; }
[Display(Name = "ConfirmEmail", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "ConfirmEmailRequired")]
[RegularExpression(".+@.+\\..+", ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "EmailInvalid")]
public string ConfirmEmailAddress { get; set; }
[Display(Name = "Password", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "PasswordRequired")]
public string Password { get; set; }
[Display(Name = "ConfirmPassword", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "ConfirmPasswordRequired")]
public string ConfirmPassword { get; set; }
[Display(Name = "ZipCode", ResourceType = typeof(Resources.Resource))]
[Required(ErrorMessageResourceType = typeof(Resources.Resource),
ErrorMessageResourceName = "ZipCodeRequired")]
public string ZipCode { get; set; }
public string[] VideoProvider { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
[Display(Name = "Verify13", ResourceType = typeof(Resources.Resource))]
public bool Is13 { get; set; }
【问题讨论】:
-
您的代码运行良好。错误返回视图后检查 html。你应该看到
<span class="field-validation-error" data-valmsg-for="REGISTER_0" data-valmsg-replace="true">You must be 13 ....</span>。我怀疑你有一些.css属性阻止它显示。
标签: c# asp.net-mvc