【发布时间】:2023-03-18 06:17:01
【问题描述】:
我想对包含对象列表的表单进行复杂的验证。
我的表单包含一个列表,比如说,MyObjects。 MyObject 由一个 double 数量和一个 MyDate 组成,它只是 DateTime 的一个包装器。
public class MyObject
{
public MyDate Date { get; set; } //MyDate is wrapper around DateTime
public double Price { get; set; }
}
表格...
<input type="text" name="myList[0].Date" value="05/11/2009" />
<input type="text" name="myList[0].Price" value="100,000,000" />
<input type="text" name="myList[1].Date" value="05/11/2009" />
<input type="text" name="myList[1].Price" value="2.23" />
这是我的行动
public ActionResult Index(IList<MyObject> myList)
{
//stuff
}
我想允许用户输入 100,000,000 作为价格,并允许自定义模型绑定器去除“,”,以便它可以转换为双精度。同样,我需要将 05/11/2009 转换为 MyDate 对象。我想过创建一个 MyObjectModelBinder,但不知道从那里做什么。
ModelBinders.Binders[typeof(MyObject)] = new MyObjectModelBinder();
任何帮助表示赞赏。
【问题讨论】:
标签: asp.net-mvc binding validation