3

我有一个包含输入字段占位符的表单。它使用 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")]
4

1 回答 1

3

如何使用正则表达式属性来确保您要查找的字符串不在提交的字符串中?以下问题包含实现此目的的表达式示例: RegEx to exclude a specific string constant

于 2012-08-09T12:26:29.010 回答