C# 如何在Castle.ActiveRecord中使用ValidateCIMAL属性?
我有一个继承了C# 如何在Castle.ActiveRecord中使用ValidateCIMAL属性?,c#,activerecord,castle-activerecord,C#,Activerecord,Castle Activerecord,我有一个继承了ActiveRecordValidationBase的类,该类包含以下属性: [Property] [ValidateDecimal] public Decimal UnitCost { get; set; } 我还有一个UnitCostTextBox,它接受所述UnitCost的输入 我想做的是使用Castle的验证器执行一次验证。然而,似乎在我将UnitCodeTextBox.Text传递给我的对象之前,我需要首先将其转换为十进制 如果输入错误,将引发异常。因此,这意味着在将
ActiveRecordValidationBase
的类,该类包含以下属性:
[Property]
[ValidateDecimal]
public Decimal UnitCost { get; set; }
我还有一个UnitCostTextBox,它接受所述UnitCost的输入
我想做的是使用Castle的验证器执行一次验证。然而,似乎在我将UnitCodeTextBox.Text
传递给我的对象之前,我需要首先将其转换为十进制
如果输入错误,将引发异常。因此,这意味着在将字符串移交给Castle.ActiveRecord之前,我仍然需要执行正则表达式验证,并将字符串转换为十进制类型
这难道不意味着有一个[ValidateDecimal]
是多余的,因为我已经清理了单位成本
我想知道你们是怎么做到的?我在谷歌上搜索了一些示例,但大多数示例只处理
[ValidateNonEmpty]
或[ValidateEmail]
,它们都是字符串,而不是不同的数据类型缺少的是绑定部分(实际上是手动执行的)。Castle.Components.Binder和Castle.Components.Validator一起用于将字符串输入(例如HTML表单)自动绑定和验证为强类型对象
MonoRail通过和AR特定的
在WebForms应用程序中,您必须自己实现绑定+验证(当然,您可以使用Castle.Components.Binder和Castle.Components.Validator)对不起,这是asp.net 3.5 WebFormssory提供的最新答案!哈,不用担心,新年快乐!