5.1 模型绑定基础
什么是模型绑定
模型绑定是ASP.NET Core的一个核心功能,它自动将HTTP请求数据(路由参数、查询字符串、表单数据、JSON等)映射到动作方法的参数或模型对象。模型绑定简化了从HTTP请求中提取数据的过程,让开发者能够直接使用强类型对象而非手动解析请求。
绑定源特性
ASP.NET Core提供了特性来明确指定数据应该从哪个源绑定:
特性数据源示例[FromRoute]路由参数/api/products/{id}[FromQuery]查询字符串/api/products?category=electronics[FromBody]请求正文HTTP POST/PUT/PATCH的JSON或XML数据[FromForm]表单数据多部分表单数据或x-www-form-urlencoded[FromHeader]HTTP头部Authorization: Bearer token[FromServices]服务容器(依赖注入)注入的服务5.2 模型验证
内置验证特性
ASP.NET Core提供了一组内置的验证特性,可用于验证模型:
特性描述示例[Required]属性不能为null[Required][StringLength]字符串长度限制[StringLength(50, MinimumLength = 3)][Range]数值范围限制[Range(1, 100)][RegularExpression]正则表达式匹配[RegularExpression(@"^[A-Z]{2}\d{4}$")][EmailAddress]电子邮件格式[EmailAddress][Phone]电话号码格式[Phone][Url]URL格式[Url]例如,为产品模型添加验证:- public class Product
- {
- public int Id { get; set; }
- [Required]
- [StringLength(100, MinimumLength = 3)]
- public string Name { get; set; }
- [Required]
- [StringLength(500)]
- public string Description { get; set; }
- [Range(0.01, 10000)]
- public decimal Price { get; set; }
- [Range(0, 1000)]
- public int StockQuantity { get; set; }
- [Url]
- public string ImageUrl { get; set; }
- }
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |