2017-08-31 56 views
0

我有一個要求來限制MVC應用程序中所有輸入字段的特殊字符。將驗證規則應用於MVC應用程序中的所有字符串

這可以使用正則表達式DataAnnotation以每個字段爲基礎來實現。

例如 [RegularExpression("^([a-zA-Z0-9]+)$", ErrorMessage = "Special characters are not permitted")] public string TestString {get; set; }

在應用程序中默認情況下,它如何應用於所有字符串模型屬性?

非常感謝!

+0

你不行。但是,通過繼承'RegularExpressionAttribute'並設置一個默認錯誤消息,將其簡化爲(說)'[AlphaOnly]'並且設置一個默認錯誤消息 –

+0

您可以使用'Fody'向現有字符串添加屬性 - 但是您需要編寫自己的add - 要做到這一點。請參閱https://www.pluralsight.com/courses/automatic-dotnet-code-weaving-fody。 – mjwills

+0

創建一個自定義的Action Filter並在那裏寫入驗證邏輯,然後在全局進行註冊。你將不得不在動作過濾器中使用反射,它應該是可能的。 – Igor

回答

0

你不能這樣做。

屬性主要是通過使用反射在運行時查找有關類/方法/參數的其他聲明性信息的機制。

0

您必須對的每個屬性應用驗證,這是在您的模型類中聲明的驗證表達式綁定的individual property

相關問題