[英]How to validate model of so string can be between 10 and 30 characters, or empty - C# ASP.NET
我正在嘗試在包含電話號碼的模型上使用Required屬性來驗證傳入的JSON。 有兩個電話號碼屬性,“主要”(必填)和“備用”。 對於Alternate,我希望一個空字符串有效,但1到9個字符之間以及30個以上字符之間的字符串無效。 這不起作用:
public class PhoneCreateModel
{
[Required(AllowEmptyStrings = false,
ErrorMessageResourceName = "PrimaryPhoneNumberRequired",
ErrorMessageResourceType = typeof(DataAnnotationMessage))]
[StringLength(30, MinimumLength = 10,
ErrorMessageResourceName = "PrimaryPhoneNumberFormat",
ErrorMessageResourceType = typeof(DataAnnotationMessage))]
public string Primary { get; set; }
[StringLength(30, MinimumLength = 10,
ErrorMessageResourceName = "AlternatePhoneNumberFormat",
ErrorMessageResourceType = typeof(DataAnnotationMessage))]
public string Alternate { get; set; }
}
...,因為它不允許Alternate為空字符串。 如何允許它為空字符串或10到30個字符?
您可以實現自己的驗證屬性。 它比看起來容易,只需創建一個擴展ValidationAttribute
的類,然后在IsValid
函數中實現您的邏輯即可。
這是一個示例: http : //www.c-sharpcorner.com/UploadFile/abhikumarvatsa/custom-data-annotations-or-custom-validation-attributes-in-m/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.