Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melaksanakan Pengesahan Tersuai untuk Gabungan Panjang Harta dalam ASP.NET MVC?
Gunakan anotasi data untuk melaksanakan pengesahan tersuai bagi panjang atribut gabungan dalam ASP.NET MVC
Sifat pengesahan tersuai memberikan fleksibiliti apabila mengesahkan berbilang sifat secara serentak. Dalam ASP.NET MVC, anda boleh mencipta sifat pengesahan tersuai menggunakan kelas asas ValidationAttribute
dan menerapkannya pada sifat dalam model menggunakan atribut [Validate]
.
Atribut pengesahan tersuai untuk gabungan panjang atribut
Untuk mengesahkan panjang gabungan berbilang sifat rentetan, anda boleh mencipta sifat pengesahan tersuai seperti ini:
<code class="language-csharp">public class CombinedMinLengthAttribute : ValidationAttribute { public CombinedMinLengthAttribute(int minLength, params string[] propertyNames) { this.PropertyNames = propertyNames; this.MinLength = minLength; } public string[] PropertyNames { get; private set; } public int MinLength { get; private set; } protected override ValidationResult IsValid(object value, ValidationContext validationContext) { var properties = this.PropertyNames.Select(validationContext.ObjectType.GetProperty); var values = properties.Select(p => p.GetValue(validationContext.ObjectInstance, null)).OfType<string>(); var totalLength = values.Sum(x => x.Length) + Convert.ToString(value).Length; if (totalLength < MinLength) { return new ValidationResult(ErrorMessageString); } return ValidationResult.Success; } }</code>
Gunakan dalam model
Untuk menggunakan pengesahan ini pada model anda, anda boleh menghiasi salah satu sifatnya dengan atribut [Validate]
:
<code class="language-csharp">public class MyViewModel { [CombinedMinLength(20, "Bar", "Baz", ErrorMessage = "Foo, Bar和Baz属性的组合最小长度应大于20")] public string Foo { get; set; } public string Bar { get; set; } public string Baz { get; set; } }</code>
Sifat pengesahan ini memastikan bahawa panjang gabungan sifat Foo, Bar dan Baz adalah lebih besar daripada atau sama dengan panjang minimum yang ditentukan (20 dalam contoh ini). Jika pengesahan gagal, mesej ralat yang sesuai dipaparkan dalam ringkasan pengesahan (seperti yang ditakrifkan dalam parameter ErrorMessage
).
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengesahan Tersuai untuk Gabungan Panjang Harta dalam ASP.NET MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!