我使用DataAnnotation来验证MVC中的AlphaNumeric字符是否为文本框。它工作正常,但当我在文本框中输入 '<script type='text/javascript'>alert('This site sucks!');</script>'
时,它无法正常工作。
[RegularExpression("^([a-zA-Z0-9 .&'-]+)$", ErrorMessage="Illegal character found in name. Please enter a valid name")]
public string Name { get; set; }
以下是我的观看代码
@Html.Raw(Html.TextBoxFor(p => p.Name, new { @class = "k-textbox", @style = "width:400px" }))
@Html.Raw(Html.ValidationMessageFor(p => p.Name))
一些帮助可能会有所帮助
答案 0 :(得分:1)
答案是你无法验证上面的字符串。 因为它是一个JavaScript注入攻击。 所以我刚刚处理了HttpRequestValidationExpection。
答案 1 :(得分:0)
这应匹配该字符串:[<>A-Za-z0-9'\(\)/= !;]+
您可以查看此网站,以便调试正则表达式:http://www.regexr.com/