如何简化空值检查
public class MyEmployee
{
public string FirstName;
public string LastName;
public string Age;
public string Phone;
public string Gender;
}
Run Code Online (Sandbox Code Playgroud)
我已经实现了以下空条件检查
public async Task<bool> ValidateClient(MyEmployee Client)
{
**if(Client.FirstName == null ||Client.LastName==null ||Client.Age== null ||Client.Gender ==null||Client.Phone==null)**
{
throw new Argumentexception("Employee details to be provided")
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 null 检查条件验证 Employee 类的所有属性,这可以在 C# 中简化吗?
Ste*_*fan 10
由于您使用的是 asp.net core,因此您可以选择通过装饰属性来验证模型:
public class MyEmployee
{
[Required]
public string FirstName;
[Required]
public string LastName;
[Required]
public string Age;
[Required]
public string Phone;
[Required]
public string Gender;
}
Run Code Online (Sandbox Code Playgroud)
如果有的话,您可以从 HTTP 操作调用中验证模型。
public async Task<IActionResult> OnPostAsync(MyEmployee model)
{
if (!ModelState.IsValid)
{
return BadRequest();
}
await yourUpdate();
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
注意:这仅在您使用模型绑定器时才有效,模型绑定器默认在 MVC 和 API 操作中启用。
有多种可用的验证属性。例如,添加StringLength使您可以选择验证长度 > 0。
还可以使用各种默认值和正则表达式选项。
它将验证靠近您的模型,并为您留下一个漂亮干净的 ActionResult 方法。
另请参阅微软文档
更多内置属性:
以下是一些内置验证属性:
这些有很多,您甚至可以自己构建它们。
| 归档时间: |
|
| 查看次数: |
1138 次 |
| 最近记录: |