我有一个带有输入字段占位符的表单。它使用 html5 占位符属性和 javascript 占位符后备。
我使用不引人注目的验证,如下所示:
[DisplayName("")]
[Required(ErrorMessage = "Please enter a name")]
[StringLength(maximumLength: 20, MinimumLength = 1, ErrorMessage = "max length is 20 chars.")]
public string UserName { get; set; }
[DisplayName("")]
[Required(ErrorMessage = "Please enter a comment.")]
[StringLength(maximumLength: 350, MinimumLength = 1, ErrorMessage = "max length is 350 chars.")]
public string CommentText { get; set; }
问题是,当使用 IE 时,占位符被计为输入字段中的字符,因此没有验证,并且在未输入任何内容时可以提交表单。
有什么方法可以向 UserName 注释添加限制指定字符串的条件。例如“在此处输入用户名..”
如果可能的话,我想避免编写自定义属性验证器。
提前致谢。
编辑。
使用正则表达式解决:
[RegularExpression("^((?!My_Placeholder_Text).|\n)*$", ErrorMessage = "Please enter text")]
如何使用正则表达式属性来确保您正在查找的字符串不在提交的字符串中?
以下问题提供了实现此目的的表达式示例:正则表达式排除特定字符串常量 https://stackoverflow.com/questions/1395177/regex-to-exclude-a-specific-string-constant
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)