如何针对POST的无效数据类型发送用户友好的错误消息?

时间:2019-07-25 15:05:26

标签: c# rest validation controller

下面的代码已正确验证了数据,但我想发回一条更加用户友好的错误消息,而不是如果数据格式不好则只返回500。

public class PostData
{
    public DateTime DateOfBirth {get; set;}
}

[HttpPost]
public string MakeAWish([FromBody] PostData data)
{
    return "Happy BirthDay!";
}

以下值可以正常工作。 { "dateOfBirth" : "1980-01-01" }

下面的值显然没有。 { "dateOfBirth" : "1980" }

dateOfBirth格式错误时,如何发送用户友好的消息?

1 个答案:

答案 0 :(得分:0)

将DateOfBirth设置为字符串。然后具有另一个属性,即DateTime,即DateOfBirthDT。

当用户提交字符串DateOfBirth时,可以使用DateTime.TryParse()来测试字符串值是否可以解析为有效的DateTime值,否则不能返回友好错误。

例如:

executor.executeScript("window.print = function(){ return false;};");