MVC 5条件验证

时间:2016-03-02 09:37:24

标签: validation asp.net-mvc-5

再一次过多的类似问题,我找不到任何帮助,或者我能理解的问题。

我的斗争其实很简单。在注册表中,我需要验证一些字段,如果从下拉列表中选择的国家/地区是特定的字段。如果没有,则不需要额外的验证。假设国家代码需要为“XX”,以便检查字段中的长度,整数或不等等。

我是MVC的新手(不到一周),在与Webforms合作一段时间之后,即便是这种简单的事情让我感到困惑。无论如何,这里是我的代码

RegisterViewModel(仅包括相关字段)

public class RegisterViewModel
    {
        //

        [Required]
        [Display(Name="Ülke")]
        public string CountryCode {get; set;}

        //

        //[RegularExpression(@"^[0-9]*$")]
        [Required]
        [Display(Name = "Posta Kodu")]
        public string PostCode { get; set; }

        [Required]
        [EmailAddress]
        [Display(Name = "İrtibat E-Mail Adresi")]
        public string Email { get; set; }


        //regular expression and string length validations should work only if a certain country is selected
        [Required]
        [RegularExpression(@"^[0-9]*$")]
        [StringLength(11, MinimumLength = 8, ErrorMessage = "Vergi Numarası      hatalı.<br/> Lütfen kontrol ediniz.")]
        [Display(Name = "Vergi No")]
        public string TaxIdNo { get; set; }

        //

        [Required]
        [Display(Name = "Firma Yetkilisi T.C. Kimlik Numarası")]
        public string UserCitizenIdNo { get; set; }

        [Required]
        [EmailAddress]
        [Display(Name = "Firma Yetkilisi Email")]
        public string UserEmail { get; set; }

        [Required]
        [Display(Name = "Firma Yetkilisi Tel. No.")]
        public string UserPhoneNumber { get; set; }

       //

    }

国家/地区下拉列表

@Html.Bootstrap().DropDownListFor(t => t.CountryCode, MVCUtility.DataTableToListItem((DataTable)ViewBag.CountryList, "Code", "Name")).HtmlAttributes(new { @style = "width:100%;" })

我在一个问题上遇到了HasSelfValidation,但遗憾地发现它已经退役了。如何在if-like结构中进行这些工作?

PS:我们将下拉列表设置为特定值,我需要检查它是否已更改。

0 个答案:

没有答案