我在我的SL4应用程序中有一个类,代表用户输入数据的单个实体。我正在做数据验证如下:Silverlight:在验证错误时禁用按钮? (麻烦验证)
private double cost;
public string Cost
{
get
{
return String.Format("{0}{1}", DOLLAR_SYMBOL, cost);
}
set
{
string price = getPriceFromCost(value);
if (!double.TryParse(price, out cost))
{
throw new ArgumentException("Please enter a number.");
}
OnPropertyChanged("Cost");
}
}
这很好。但是,如果用户输入一个有效值,然后是无效值,忽略验证错误并点击提交,则将使用旧的有效值创建实体。我宁愿强迫用户纠正错误。我怎样才能禁用“添加”按钮?
另外,我想在用户点击添加按钮时进行一些其他形式的验证,但我仍然希望文本输入框的高亮效果以红色突出显示,并弹出消息。我怎样才能做到这一点而不扔ArgumentExceptions
?
右键定义IsEnabled属性,但不会我需要为每个验证领域的布尔? “IsValidName”,“IsValidDate”等。如果用户未能设置“Date”的输入,我不想再次启用按钮,直到对该字段提供有效输入。 – 2010-10-03 17:08:11
这是一个非常有用的博客文章。我在我的数据实体类的几个属性中添加了[[必需]]。但是,前端没有任何事情发生。我怎样才能使这个验证发生? – 2010-10-03 17:16:05