簡體   English   中英

如何驗證字符串的模型可以在10到30個字符之間,也可以為空-C#ASP.NET

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM