我正在开发一个 Silverlight Web 应用程序,但遇到了当前的问题。
是否可以仅在将值输入另一个字段时才将字段设为必需。例如,如果您有一个 DataForm 来保存汽车。仅需要车型,除非您从下拉列表中选择车型(SUV、紧凑型、跑车),您还必须输入车门数量。
说清楚:
姓名 - 必填
发动机类型 - 不需要
轮胎 - 不需要
车型 - 不需要
门数 - 仅在选择车型时才需要
我怎样才能做到这一点?
编辑:我希望能够在底部显示错误消息以及突出显示所需的控件
我正在开发一个 Silverlight Web 应用程序,但遇到了当前的问题。
是否可以仅在将值输入另一个字段时才将字段设为必需。例如,如果您有一个 DataForm 来保存汽车。仅需要车型,除非您从下拉列表中选择车型(SUV、紧凑型、跑车),您还必须输入车门数量。
说清楚:
姓名 - 必填
发动机类型 - 不需要
轮胎 - 不需要
车型 - 不需要
门数 - 仅在选择车型时才需要
我怎样才能做到这一点?
编辑:我希望能够在底部显示错误消息以及突出显示所需的控件
您需要做的称为实体级验证。而不是验证 1 个属性 - 您需要验证整个对象。
为此 - 您需要实现 INotifyDataErrorInfo。比在您的支持对象上,您需要处理 CarType 的属性设置器。当它发生变化时 - 您会为 NumberOfDoors 引发错误(如果未设置)。同样的事情,如果 NumberOfDoors 设置 - 您将需要手动清除该错误。
在这里你可以看到一些很好的例子:http ://www.silverlight.net/learn/data-networking/validation/implementing-data-validation-in-silverlight-with-inotifydataerrorinfo
此外,作为旁注 - 如果您需要更高级的场景,您将很快最大化 DataForm 功能。