2012-08-09 50 views
2

我有一個具有輸入字段佔位符的窗體。它使用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")] 

回答

3

如何使用正則表達式的屬性,以確保您要查找的字符串不是所提交的字符串? 下面的問題有一些表達式的例子可以實現: RegEx to exclude a specific string constant

+0

謝謝你的鏈接,給出了我需要的答案。用解決方案編輯我的第一篇文章。 – JoonasL 2012-08-09 12:44:49