validation - 来自 IEnumerable 的 ASP MVC5 ModelState.Remove("myField")
问题描述
- 我想从模型验证中删除视图模型列表中包含的必填字段。
- 我需要前端验证所需的所有字段,但在后端我需要
company
从模型验证中删除
modelValues
- 将仅包含id
和name
company
- 我需要单独发送
$.ajax({
...,
data: JSON.stringify({"vmData" : modelValues, "company": "Google"})
...
});
public class UserViewModel{
[Required]
public int id{get;set;}
[Required]
public string name{get;set;}
[Required]
public string company{get;set;}
}
public ActionResult Index(IEnumerable<UserViewModel> vmData, string company){
if(!string.IsNullOrEmpty(company)){
ModelState.Remove("company");
}
// is never valid because "company" is always null
if(ModelState.IsValid()){...}
}
我用错了ModelState.Remove("company");
吗?它不适用于 IEnumerable?
解决方案
我已经设法通过这样做来解决它:
if(!string.IsNullorEmpty(company)){
for(var i=0; i < vmData.Count; i++){
ModelState.Remove("vmdata[" + i + "].company");
}
}
推荐阅读
- node.js - SQL Server连接问题通过使用sequalize with encryptset to true
- python - 数组二叉树
- azure - 未相互连接的多个 Azure 本地网络网关
- python - 如何对 seq2seq RNN 进行推理?
- html - html 表格随图像展开,无论图像大小
- python - 使用 pyinstaller 将文件转换为 exe 时,Python 语音识别不起作用
- c# - System.Data.SqlClient.dll 中出现“System.Data.SqlClient.SqlException”类型的异常,但未在用户代码中处理
- python - 如何用python自动化excel
- reactjs - 无法读取未定义的 React Material UI 的属性“样式”
- docker - 将我的 Docker 映像部署到 Google Container Registry / Cloud Run 时出现 GCP Cloud Run 错误