You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 3.1自定义验证属性客户端验证不生效,无对应data-*属性

ASP.NET Core 3.1 自定义验证器未生成客户端data-*属性问题排查
  • 确认ExcludeCharAttribute是否正确应用到Prop1属性:框架仅会扫描公共实例属性上的验证特性,字段、静态属性、私有属性、标记了[ValidateNever]的属性都会被跳过,不会生成对应的验证属性。
  • 检查Prop1的表单控件生成逻辑:只有使用asp-for TagHelper、@Html.EditorFor/@Html.TextBoxFor等框架内置的辅助方法生成的表单元素,才会自动注入验证相关的data-*属性,手动编写的原生<input>标签不会自动生成该类属性。
  • 排查IClientValidatable接口的GetClientValidationRules方法实现:如果方法内添加了属性类型、属性名的过滤逻辑,可能存在Prop1命中过滤条件、未返回验证规则的情况,例如你仅为字符串类型返回验证规则但Prop1是数值类型,或误写了仅针对Prop2返回规则的逻辑。
  • 检查全局验证过滤配置:如果在Startup.cs的AddMvc/AddControllersWithViews配置中添加了全局验证跳过规则,恰好命中Prop1所属的DTO类或该属性本身,也会导致验证属性不生成。
  • 若Prop1是嵌套类的属性,确认视图中asp-for的绑定路径是否书写正确,路径错误会导致框架无法读取对应属性的验证特性。

内容的提问来源于stack exchange,提问作者Frédéric De Lène Mirouze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:54:02