[英]How do I implement custom model validation in ASP.NET Core?
在以前版本的 ASP.NET MVC 中,向模型添加自定義驗證的方法是實現IValidatableObject
並實現您自己的Validate()
方法。 例如:
public class BestModelEver : IValidatableObject {
public DateTime? Birthday { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext) {
if (Birthday.HasValue) {
yield return new ValidationResult("Error message goes here");
}
}
}
這仍然是向 ASP.NET Core 中的模型添加自定義驗證的推薦方法嗎? 使用IValidatableObject
需要System.ComponentModel.DataAnnotations
依賴項。
在 ASP.NET Core 中有兩種方法可以進行自定義模型驗證:
ValidationAttribute
自定義屬性。 當您想將自定義業務邏輯應用於具有屬性的特定模型屬性時,這很有用。IValidatableObject
以進行類級驗證。 當您需要一次對整個模型進行驗證時,請改用此方法。 該文檔有兩者的示例。 在您的情況下, IValidatableObject
可能是最好的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.