要保护禁用或只读的输入,可以使用以下代码示例中的两种方法:
在后台控制器中,可以使用ModelState
属性来设置非法操作的错误信息。例如,当请求数据中包含了禁用或只读的字段时,可以通过以下代码设置错误信息并返回400 Bad Request响应:
[HttpPost]
public IActionResult Create([Bind("Name", "Age")] Person person)
{
if (ModelState.ContainsKey("Age"))
{
ModelState.AddModelError("Age", "This field is disabled or readonly.");
}
if (ModelState.ContainsKey("Name") && !ModelState.IsValidField("Name"))
{
ModelState.AddModelError("Name", "This field is disabled or readonly.");
}
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// Process form data
return View(person);
}
在前端页面中,可以使用JavaScript来保护禁用或只读的输入。例如,以下代码演示了如何禁用一个输入字段和防止它被修改: