OpenAuth.Net/newdocs/docs/notes/core/datavalidation.md

65 lines
1.6 KiB
Markdown
Raw Normal View History

2025-04-23 23:37:58 +08:00
---
2025-04-26 11:57:13 +08:00
title: 接口数据验证
2025-04-23 23:37:58 +08:00
createTime: 2025/04/23 21:03:10
permalink: /core/datavalidation/
---
2025-04-26 11:57:13 +08:00
数据验证是做接口开发时一个非常重要的功能它用来确保调用API时传入的数据完整和正确。框架提供灵活的实体模型验证功能。可以方便地对实体进行验证。只需两步即可
1. 在实体类中使用特性Attributes来定义验证规则。
2. 业务代码中执行验证
2025-04-23 23:37:58 +08:00
2025-04-26 11:57:13 +08:00
## 定义验证规则
2025-04-23 23:37:58 +08:00
在请求参数中添加验证注解
```csharp
namespace OpenAuth.App.Request
{
public class UpdateUserReq
{
/// <summary>
/// </summary>
/// <returns></returns>
[Required(ErrorMessage = "账号肯定不能为空啊~~")]
public string Account { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
/// <returns></returns>
[Required(ErrorMessage="姓名不能为空")]
public string Name { get; set; }
/// <summary>
/// 所属组织Id多个可用分隔
/// </summary>
/// <value>The organizations.</value>
[Required(ErrorMessage = "请为用户分配机构")]
public string OrganizationIds { get; set; }
...
}
}
```
2025-04-26 11:57:13 +08:00
## 执行验证
2025-04-23 23:37:58 +08:00
在OpenAuth.App中调用验证
```csharp
namespace OpenAuth.App
{
public class UserManagerApp : BaseApp<User,OpenAuthDBContext>
{
public void AddOrUpdate(UpdateUserReq request)
{
//验证Account/Name/OrganizationIds
request.ValidationEntity(u => new {u.Account,u.Name, u.OrganizationIds});
...//其他代码略
}
}
}
```