这里是我的产品和ProductItem类/型号:MVC 4验证属性是不工作的动态添加字段
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);
});
});
现在应用于Name和Price的验证属性工作正常,但不是动态添加的字段(即“RawMaterial”和“Qty”)。
请给我建议,这个验证将如何运作?
注:出于测试目的,我刚才添加索引列表的第一个对象0
可能的重复问题http://stackoverflow.com/questions/10023503/unobstructive-client-side-validation-for-dynamically-added-input-fields – asymptoticFault
请建议任何其他解决方案,表单解析不是我的解决方案case –
当你说他们不工作,你的意思是客户端或服务器端?你可以说得更详细点吗? – asymptoticFault