手動執行驗證屬性

大多數情況下,驗證屬性都在框架內部使用(例如 ASP.NET)。這些框架負責執行驗證屬性。但是,如果要手動執行驗證屬性,該怎麼辦?只需使用 Validator 類(不需要反射)。

驗證上下文

任何驗證都需要一個上下文來提供有關正在驗證的內容的一些資訊。這可以包括各種資訊,例如要驗證的物件,一些屬性,錯誤訊息中顯示的名稱等。

ValidationContext vc = new ValidationContext(objectToValidate); // The simplest form of validation context. It contains only a reference to the object being validated.

建立上下文後,有多種方法可以進行驗證。

驗證物件及其所有屬性

ICollection<ValidationResult> results = new List<ValidationResult>(); // Will contain the results of the validation
bool isValid = Validator.TryValidateObject(objectToValidate, vc, results, true); // Validates the object and its properties using the previously created context.
// The variable isValid will be true if everything is valid
// The results variable contains the results of the validation

驗證物件的屬性

ICollection<ValidationResult> results = new List<ValidationResult>(); // Will contain the results of the validation
bool isValid = Validator.TryValidatePropery(objectToValidate.PropertyToValidate, vc, results, true); // Validates the property using the previously created context.
// The variable isValid will be true if everything is valid
// The results variable contains the results of the validation

和更多

要了解有關手動驗證的更多資訊,請