public class UpdateProductDto
{
[Range(1, Double.MaxValue, ErrorMessage = "Id must be greater than 0")] // Атрибут
public int Id { get; set; }
[Required(ErrorMessage = "IsActive cannot be null")] // Атрибут
public bool IsActive { get; set; }
[Required(ErrorMessage = "Name cannot be null")] // Атрибут
public string Name { get; set; }//
[Range(0, Double.MaxValue, ErrorMessage = "Price must be greater than or equal to zero")]
public decimal Price { get; set; }//
public string ImagePath { get; set; }//
public string Description { get; set; }//
[Range(1, Double.MaxValue, ErrorMessage = "CategoryId must be greater than 0")]
public int CategoryId { get; set;}
}
验证
对于验证,有验证属性https://metanit.com/sharp/dotnet/2.2.php
如果继承自
ValidationAttribute
,则可以创建自己的自定义验证属性在我的示例中,有一个 DTO,而不是模型,因此除了属性和验证属性之外,我没有在其中放置任何内容。
这是一种方法。我还知道一种在控制器本身中执行验证而无需任何属性的方法。
最后。响应状态是在控制器中生成的,而不是在模型中生成的。