cuốn sách gpt4 ai đã làm

Làm cách nào để truy xuất thông báo lỗi bằng tên trường (phía máy chủ)?

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-03 22:38:25 25 4
mua khóa gpt4 Nike

我得到这样的错误列表:{ error: [ "Email is required", "First Name is required"] }

我需要如何修改它,以获取包含字段名称的列表?

public static IEnumerable ExtractErrorMessages(this ModelStateDictionary modelState)
{
return modelState.Values.SelectMany(m => m.Errors).Select(e => e.ErrorMessage).ToList();
}

结果必须是这样的:{"FirstName": [ "First Name is required"], "Email": [ "Email is required"]}

câu trả lời hay nhất

Mô hìnhTrạng thái可以像字典一样使用。它有一个 ModelState.Keys告诉您字段名称的集合。

IDictionary errorsByField = new Dictionary();

foreach (var key in ModelState.Keys) {
if (ModelState[key].Errors.Any()) {
var errors = ModelState[key].Errors.Select(e => e.ErrorMessage).ToArray();
errorsByField.Add(key, errors);
}
}

请注意 KeysĐúng 的名称由 ModelBinder 绑定(bind),即这对应于 ViewModel 中的属性名称。这不是 [DisplayName]这个属性。要获取 DisplayName,您必须在 ViewModel 上使用反射来检索此属性的属性值,然后使用 ResourceManager 转换它.

关于c# - 如何使用字段名称检索错误消息(服务器端)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53720392/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress