我需要再次转向SO来帮助我进一步学习mvc。我不明白为什么我的表格不会验证....实际上我可以阅读信息并且它很直接但我无法找到我正在滑倒的地方。
我只包含与错误消息相关的内容,所以如果我遗漏某些内容,请告诉我,我很乐意添加它。
我的模特是这样的:
[Validator(typeof(ExtForumValidator))]
public partial class ExtrnlSubsModel : BaseEntityModel
{
.....snip......
public int ExtForumBoardId { get; set; }
}
我的验证员:
public ExtForumValidator(ILocalizationService localizationService)
{
RuleFor(x => x.ExtForumBoardId)
.NotEqual(0).WithMessage(localizationService.GetResource("ExternalForumBoards.Fields.AvailBoard.Required"));
}
剃刀:
<td>
@Html.DropDownListFor(model => model.ExtForumBoardId, Model.AvailableForumBoards)
@Html.RequiredHint()
@Html.ValidationMessageFor(model => model.AvailableForumBoards)
</td>
在提交我的所有其他元素时,检查除了这个元素有ModelState错误。 对于尝试的值,它显示为字符串数组???? 0,11或0,12或0,4等。它总是有一个零和一个逗号前置。第二个数字是正确的,因为这是在下拉列表中选择的项目的ID。
对于异常,它表示null,对于错误消息,它说...好吧它说明了我对验证消息的所有内容。
所以在我看来,它正在挂在这个字符串数组0上的东西,我不知道它来自哪里寻找修复。
任何想法都会受到赞赏。