嗨,我在整个应用程序中都有以下鳕鱼,但只有两个字段无法正常工作。
[Required]
public string DevelopmentPM { get; set; }
以下测试运行并通过:
[TestMethod]
public void SiteConstruction_MODEL_DevelopmentPM_Is_Required()
{
//arrange
var propertyInfo = typeof(SiteConstructionMetadata).GetProperty
("DevelopmentPM");
//act
var attribute = propertyInfo.GetCustomAttributes(typeof(RequiredAttribute),
true).Cast<RequiredAttribute>().FirstOrDefault();
//assert
Assert.IsNotNull(attribute);
}
我的控制器看起来像:
TryUpdateModel(siteConstruction);
if (!ModelState.IsValid)
return View(siteConstruction);
我在模型中有其他必填字段,它们都可以。该字段为空(我检查过)但不会使模型无效 - 因此没有验证并且保存时出错。
我的观点
<li>
<label for="DevelopmentPM">
<strong>Development PM:</strong></label>
<%= Html.TextBox("DevelopmentPM") %>
<%= Html.ValidationMessage("DevelopmentPM", "*") %>
</li>
我查看了我的 .dbml(Linq to SQl),拼写看起来不错。
我错过了一些简单的东西 - 请发疯。
谢谢
戴维