下面是我的
ViewModel
(VM)匹配我的实体模型。在我的控制器中,我通过添加
ModelState
错误消息使用
ModelState.AddModelError
然后我使用静态方法返回所有错误消息,
FormatErrorResponse
。
我的问题
如果财产不是
string
,错误消息始终为空!在下面的VM中
AreaCode
是
int
,如果我将其更改为
一串
我得到了错误信息,但不是相反,
我错过了什么?
这是我的虚拟机,
public class SaveViewModel {
public int AreaCode { get; set; }
public string PhoneNumber { get; set; }
public string GenderId { get; set; }
}
还有我的
FormatErrorResponse格式错误响应
,则,
public static object FormatErrorResponse (ModelStateDictionary modelState) {
var errors = new List<string> ();
foreach (var state in modelState) {
foreach (var error in state.Value.Errors) {
errors.Add (error.ErrorMessage);
}
}
var response = new { errorMessages = errors };
return response;
}
在我的
API
控制器,
bool isValidPhoneNumber = this.applicationUserRepository.isValidPhoneNumber (patientUser);
if (!isValidPhoneNumber) {
ModelState.AddModelError (string.Empty, "Invalid phone number!");
return StatusCode (400, StaticHandlers.FormatErrorResponse (ModelState));
}