c# - 自定义客户端验证不选择正则表达式
问题描述
目标
AttributeAdapterBase
使用和创建自定义客户端验证IValidationAttributeAdapterProvider
。
问题
我已经使用标签助手构建了一个表单输入元素。当任何用户选择单选按钮时,此表单/ViewComponent 会加载。
此外,我在 C# 中使用AttributeAdapterBase<SomeIdAttribute>
.
我有一个ViewComponent
装饰如下的以下字段:
[SomeId(@"^[a-zA-Z0-9-.]+[.]+[a-zA-Z0-9-.]+$"]
public string SomeId{ get; set; }
另一个带有CustomValidation
和正则表达式的字段[TenantId("^[a-zA-Z0-9-]{36}$")]
可以正常工作。
问题出现在方法下面的代码中AddValidation(ClientModelValidationContext context)
:
MergeAttribute(context.Attributes, "data-val-regex-pattern", Attribute.RegexPattern);
null
上面提到的正则表达式没有成功解析,正则表达式模式在呈现 HTML 时保持不变。
对于解析,我使用了以下行:
$.validator.unobtrusive.parse($('#someformID'));
如果我将正则表达式更改为某种简单的格式,它就可以工作。但是这个特殊的正则表达式没有被分配。
它是否在某处缺少一些转义序列?
如果我们使用 built in RegularExpression
,问题仍然是一样的。
解决方案
推荐阅读
- google-sheets - 基于 18 个月前的日期的条件格式
- firebase - Firebase Environmental Config - Added slashes to private_key_id
- javascript - 如何使用 React Ref 调用 video.play()?
- android - 颤振重新定位键盘向下
- javascript - 标题出现在滚动条上?
- prolog - Prolog returning only the max value from all iterations
- python - How large can a TensorFlow .record file be before it causes performance issues?
- google-chrome-extension - Chrome Extension Unchecked runtime.lastError while running events.addRules:主机值需要小写
- go - 如何动态调用变量?
- r - 是否可以安排 R 脚本在 R 中的机器映像 (EC2) 上运行?