0
我使用ValidationContext将验证代码添加到我的对象类中。我添加了以下内容,但没有一个验证属性会触发。到目前为止,我 不知道为什么。任何帮助表示赞赏。asp.net mvc无法使用ValidationContext验证输入DTO对象
public bool Update Book(BookCommand command)
{
var context = new ValidationContext(command, serviceProvider:null, items: null);
var results = new List<ValidationResult>();
var isValid = Validator.TryValidateObject(command, context, results);
return UpdateBook(BookTitle , BookCode , AuthorFullName);
}
public class BookCommand : Command, IValidatableObject
{
[Required]
public string BookTitle { get; set; }
[Required]
public string BookCode { get; set; }
[Required]
[StringLength(16, MinimumLength = 8, ErrorMessage = "Length must be 8 to 16 characters long")]
public string AuthorFullName{ get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
return new List<ValidationResult>();
}
}
您已经应用到您的模特属性'([必需]'验证属性,'[StringLength]'等)。你想通过实现'IValidatableObject'来做什么? –