【发布时间】:2013-09-10 20:06:12
【问题描述】:
这是我的 Product 和 ProductItem 类/模型:
public class Product
{
public int ProductId { get; set; }
[Required(ErrorMessage="Enter Name")]
public string Name { get; set; }
public List<ProductItem> productitems { get; set; }
[Required(ErrorMessage="Enter Price")]
public decimal Price { get; set; }
}
public class ProductItem
{
[Required(ErrorMessage="Select Raw Material")]
public int RawMaterial { get; set; }
[Required(ErrorMessage="Enter Quantity")]
public decimal Qty { get; set; }
}
对于 ProductItem,我使用 jQuery 动态添加其字段,您可以在此处看到:
$("#btnAddProductItem").click(function () {
$.getJSON("/rawmaterial/GetRawMaterials", null, function (data) {
var productItem = $("<tr class='productItem' id='productItem-0'><td><select id='rmlist-0' name='productitems[0].RawMaterial'></select><span class='field-validation-valid' data-valmsg-for='productitems[0].RawMaterial' data-valmsg-replace='true'></span></td><td><input type='text' id='rmqty-0' name='productitems[0].Qty'/><span class='field-validation-valid' data-valmsg-for='productitems[0].Qty' data-valmsg-replace='true'></span></td></tr>");
$("#productItem").append(productItem);
$("#rmlist-0").addItems(data);
});
});
现在,应用于名称和价格的验证属性可以正常工作,但不适用于动态添加的字段(即“RawMaterial”和“Qty”)。
请给我这个验证如何工作的建议?
注意:出于测试目的,我刚刚添加了索引为 0 的 List 的第一个对象。
【问题讨论】:
-
请提出任何其他解决方案,表单解析不是我的解决方案
-
当您说它们不工作时,您是指客户端还是服务器端?你能说得更具体点吗?
-
客户端不工作
标签: asp.net-mvc-4 validationattribute data-annotations