MVC验证regex属性在c#中工作,但在JavaScript中不工作
MVC validation regex attribute works in C# but not JavaScript
我试图通过mvc正则表达式属性对表单字段进行验证。但似乎无论我使用什么正则表达式,验证都只在服务器端工作,而不是在浏览器中。
我用于验证的代码是:
[DisplayName("Email Address")]
[Required]
[RegularExpression(@"^[a-zA-Z0-9'.-]*@[a-zA-Z0-9'.]*'.[a-zA-Z'.]{2,6}$", ErrorMessage = "Valid email required.")]
public string emailAddress { get; set; }
正则表达式在"asd"
、"asd@"
处验证失败,但在"asd@asd"
处开始通过验证。将正则表达式粘贴到http://regexpal.com/将显示它只适用于完整的电子邮件。
截图:http://puu.sh/2P05x.png
如果它有帮助,这是在剑道UI网格编辑弹出使用
在你的模型上:
[RegularExpression(@"^([a-zA-Z0-9_'-'.]+)@(('[[0-9]{1,3}'.[0-9]{1,4}'.[0-9]{1,4}'.)|(([a-zA-Z0-9'-]+'.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(']?)$", ErrorMessage = "invalid.")]
并确保jquery.validate.min.js和jquery.validate.unobtrusive.min.js在您的页面
中被引用。最后在你的web.config<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
或者如果你想用JS:
^([a-zA-Z0-9_'-'.]+)@(('[[0-9]{1,3}'.[0-9]{1,4}'.[0-9]{1,4}'.)|(([a-zA-Z0-9'-]+'.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(']?)$
显然这是我正在使用的KendoUI版本中目前已知的错误。我不确定是否有一个适用的更新。更多信息请访问http://www.kendoui.com/forums/mvc/general-discussions/regular-expression-validator-not-working-in-grid-popup.aspx
相关文章:
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 变量只能在函数中局部工作,不能全局工作-Javascript
- onClick按钮不工作javascript/php/jquery mobile
- 点击骰子赢得't工作(javascript)
- for循环,if else不工作Javascript
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 可以'没有一个函数可以工作——Javascript
- OnFocus 不是工作 JavaScript HTML;不显示对焦时计算和按钮单击时
- 从 iframe 访问主站点中的工作 JavaScript
- 对于在循环中无法按预期工作 JavaScript
- 在阅读表单输入后写回HTML;t工作(Javascript)
- 复选框单击有效,取消选中复选框不工作Javascript
- 代码在Codepen中工作,而不是在浏览器中工作:JavaScript在鼠标滚轮上缩放SVG
- 当用户在这个工作javascript注释框中提交注释时,您将如何添加用户图像和名称
- 向Wordpress添加工作Javascript谷歌地图代码
- 确认/重定向功能不工作-javascript
- 当/patt/版本工作时,为什么RegExp版本不工作?(Javascript)
- Firefox加载项按钮代码不工作-Javascript
- 计算器功能不工作- Javascript
- 将工作JavaScript对象序列化为仅保留属性的JSON