在ASP.NET Core中,自定义客户端验证不触发可能是由于以下几个原因导致的:
下面是一个示例解决方案,其中包含了自定义客户端验证的代码示例:
@section Scripts {
}
[HttpPost]
public IActionResult Create(PersonViewModel model)
{
if (ModelState.IsValid)
{
// 执行其他操作
return RedirectToAction(nameof(Index));
}
// 自定义验证逻辑失败时手动添加验证错误
if (model.Name == "admin")
{
ModelState.AddModelError("Name", "Invalid name"); // 手动添加验证错误
}
return View(model);
}
public class PersonViewModel
{
[Required]
public string Name { get; set; }
[Required]
public int Age { get; set; }
}
通过以上步骤,可以实现自定义客户端验证在ASP.NET Core中的触发和处理。