我正在开发一个Silverlight web应用程序,并被当前的问题卡住了。
是否可能仅当value被输入到另一个字段时才使该字段为必需。例如,如果您有一个保存汽车的DataForm。除了从下拉列表中选择汽车类型(SUV,紧凑型,跑车),您还必须输入车门数量之外,只需要输入车型。
说明:
Name - required
引擎类型-不需要
轮胎-不需要
汽车类型-不需要
车门数目-仅当选择汽车类型时需要
我该怎么做呢?
编辑:我希望能够在底部显示错误信息以及突出显示所需的控件
你需要做的是实体级验证。而不是验证一个属性-你需要验证整个对象。
要做到这一点-你需要实现INotifyDataErrorInfo。然后在你的后备对象上,你需要处理CarType的属性setter。当它改变时,你会为NumberOfDoors(如果没有设置)抛出错误。同样的,如果NumberOfDoors设置了,你需要手动清除这个错误。
在这里你可以看到一些很好的例子如何做到这一点:http://www.silverlight.net/learn/data-networking/validation/implementing-data-validation-in-silverlight-with-inotifydataerrorinfo
另外,作为一个边注-如果您需要更高级的场景,您将很快最大化DataForm功能。