我需要根據特定條件更改項目的正則表達式。asp.net MVC - 基於客戶端驗證條件的自定義驗證
例如:我需要根據國家選擇更改郵政編碼字段的正則表達式。
下面是我的郵編爲模型內部的默認,這對美國是適用的:
[RegularExpression(@"(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)", ErrorMessage="Enter valid Zip Code")]
public string Zip { get; set; }
我需要更改郵編正則表達式時,這個國家是加拿大爲:
@"^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$"
只有當用戶登錄到應用程序時,我才能獲取國家/地區。如何根據所選國家/地區以編程方式更改郵政編碼的正則表達式?同樣,還有更多的字段需要根據國家/地區修改正則表達式。它也應該有客戶端驗證。請建議
我只需要替換一些字段的正則表達式。有沒有簡單的方法來替換正則表達式,而不是爲每個字段編寫自定義驗證器? – Prasad
@Prasad,我認爲你不能在運行時改變屬性值 – idlerboris