我在剑道模板中使用 mvc html 文本框助手。我得到不正确的正则表达式验证的验证属性值。例如 "^([a-zA-Z0-9\s-]){0,}$" 变成 "^([a-zA-Z0-9s-]){0,}$" - 符号 "\"失踪。当我试图在服务器端转义符号时,它在客户端变得有效而在服务器上无效,但我需要两者都有效的正则表达式。我该如何解决这个问题。我需要使用 mvc 助手,因为它从模型元数据中检索验证属性。
问问题
730 次
1 回答
1
实际上,剑道模板中的斜线用于转义特殊符号。在你的情况下,我建议你用额外的页岩来逃避斜线。
这是我尝试过的:
<form id="myForm" action="/" method="post">
<div id="result">
</div>
<input type="submit" value="Go" />
</form>
<script id="foo" type="text/kendo">
templatE:
@Html.TextBoxFor(m=>m.Name)
</script>
<script type="text/javascript">
var html = $('#foo').html().replace(/\\/g, '\\\\');
html = html.replace(/#/g, /\#/);
var template = kendo.template(html);
$('#result').html(template({}));
$('#myForm').kendoValidator();
</script>
模型装饰有以下属性:
[RegularExpression(@"^([a-zA-Z0-9\s\-]){0,}$")]
public string Name { get; set; }
于 2013-05-08T08:01:29.850 回答