再一次过多的类似问题,我找不到任何帮助,或者我能理解的问题。
我的斗争其实很简单。在注册表中,我需要验证一些字段,如果从下拉列表中选择的国家/地区是特定的字段。如果没有,则不需要额外的验证。假设国家代码需要为“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:我们将下拉列表设置为特定值,我需要检查它是否已更改。