我在kendo模板中使用mvc html textbox helper。我为regexp验证获得了不正确的验证属性值。例如“^([a-zA-Z0-9 \ s - ]){0,} $”变为“^([a-zA-Z0-9s - ]){0,} $” - 符号“\”失踪。 当我试图在服务器端转义符号时它在客户端变得有效并且在服务器上无效但我需要两者都有效的正则表达式。我怎么能解决这个问题。我需要使用mvc helper,因为它从模型元数据中检索验证属性。
答案 0 :(得分: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; }