我目前在應用程序中使用了列出的驗證碼here。我想選擇性地驗證一個頁面。我的意思是這樣的:我有一個附有驗證規則的數據綁定表單。我也有一個複選框,當選中時,禁用和清除幾個綁定文本框的值。是否有我可以在這些文本框上設置的屬性來告訴驗證引擎在驗證時不要包含這些屬性?如何選擇性驗證WPF中的表單?
2
A
回答
2
也許如果你爲你的Validator類寫了一個附屬屬性,並且在你的IsValid方法中檢查了它的第一件事。
static class Validator
{
public static readonly DependencyProperty SkipValidationProperty =
DependencyProperty.RegisterAttached("SkipValidation", typeof(bool), typeof(Validator),
new UIPropertyMetadata(false));
public static bool GetSkipValidation(DependencyObject obj)
{
return (bool)obj.GetValue(SkipValidationProperty);
}
public static void SetSkipValidation(DependencyObject obj, bool value)
{
obj.SetValue(SkipValidationProperty, value);
}
public static bool IsValid(DependencyObject parent)
{
if (Validator.GetSkipValidation(parent)) return true;
//Rest of the validation code
}
}
那麼你可以做的簡單的東西:
<StackPanel>
<TextBox x:Name="txt" local:Validator.SkipValidation="{Binding IsChecked, ElementName=cbx}" />
<CheckBox x:Name="cbx" >Skip Validate?</CheckBox>
</StackPanel>
0
可能的是,您可能會觸發切換綁定的觸發器。這意味着Setter-s將使用具有不同驗證規則的另一個綁定重新綁定屬性。
但是,如果所有這些驗證規則都在ControlTemplate或DataTemplate中,那麼只有(?)纔有效。
相關問題
- 1. 選擇性表單驗證
- 2. WPF中的表單驗證
- 3. Rails表單選擇驗證
- 4. 表單驗證選擇
- 5. 表單驗證:請選擇
- 6. Laravel 5.3表單驗證 - 我如何驗證選擇框?
- 7. 如何驗證只有複選框/按鈕/選擇的表單?
- 8. 選擇表單的jQuery驗證範圍
- 9. 如何驗證選擇與jQuery驗證?
- 10. 選擇性jQuery驗證
- 11. 驗證Rails中選擇表單僅值選擇
- 12. jquery表單驗證的選擇性字段
- 13. 如何驗證Ember選擇列表?
- 14. Kohana 3表單選擇驗證
- 15. 表單驗證多維選擇框
- 16. 添加選擇表單驗證程序
- 17. Django表單驗證模型選擇
- 18. 至少在選擇選項表單驗證選擇
- 19. 日期選擇器驗證WPF
- 20. C#WPF,日期選擇器驗證
- 21. 如何選擇性地抑制Visual Studio中的標記驗證?
- 22. jQuery選擇列表驗證
- 23. 如何驗證jQuery驗證中的選擇框?
- 24. 如何使用jQuery使用dropkick select元素驗證表單驗證(基於DIV的選擇表單元素)
- 25. 使用HTML5驗證API和僞選擇器驗證表單驗證API
- 26. 如何根據單選按鈕的選擇來更正驗證?
- 27. 如何驗證redux表單中的單選按鈕值?
- 28. 如何驗證選擇選項
- 29. NSIS - 驗證單選按鈕選擇
- 30. ModelState:僅驗證表單中的屬性