javascript - Html.TextBoxFor 正则表达式不起作用

标签 javascript html regex asp.net-mvc-4

我有两个助手:Html.TextBoxHtml.TextBoxFor

Html.TextBox(someId, someValue, new { @class = "text-box single-line numericPropertyValue",  regexp=@"^(-?\d{0,9}([.]\d{0,5})?)?$", minValue = someMinValue, maxValue = someMaxValue, invalidValueMessage = ValidationMessages.ValueIsIncorrect(), invalidRangeMessage = ValidationMessages.InvalidRangeMessage(someMinValue, someMaxValue) })

这个指定预算并允许我仅输入 digits.digits 并且工作正常。

另一个是Html.TextBoxFor:

 Html.TextBoxFor(x => x.some.Name, new { @class = "text-box single-line numericPropertyValue", regExp = @"^[a-zA-Z0-9]", invalidValueMessage = "value is invalid" })

这个指定了一些项目的名称,没关系。但是我的正则表达式不起作用。但是,如果我将第一个 Html.TextBox 中的正则表达式放在那里,它仍然无法正常工作并允许我输入所有内容。

你知道我的 TextBoxFor 有什么问题吗? 非常感谢。

最佳答案

因为传递 regExp 没有任何作用。该匿名对象的成员最终作为您输入的 HTML 属性,而 regExp 不是有效的 HTML 属性。如果您希望使用浏览器提供的客户端验证,请改用 pattern。但是,请注意 pattern 仅在现代浏览器 (IE10+) 中受支持。因此,您需要为功能较弱的浏览器提供回退。

关于javascript - Html.TextBoxFor 正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26972839/

相关文章:

java - Jsoup/Java - 如何提取不在标签内的数据

html - CSS: "visibility: collapse"仍然占用空间

java - 当字符串以 &*( 开头并以 )(* 结尾时,如何从字符串中删除一部分文本

javascript - Jquery/PHP : Javascript function fails to run

javascript - 使用 Bootstrap 圈出进度条

javascript - 动态分配的 ID

python - 在python中拆分逗号分隔的字符串

javascript - 可以用 JQuery 缩短这个 Javascript 吗?

css - 除非我给它最小高度,否则 Div 没有高度

java - 无法打印不超过 4679 个字符的子字符串