Validasi menggunakan atribut di asp.net mvc sangat bagus. Saya telah menggunakan [Range(min, max)]
validator sejauh ini untuk memeriksa nilai, seperti misalnya:
[Range(1, 10)]
public int SomeNumber { get; set; }
Namun - sekarang saya perlu memeriksa kondisi min dan max secara terpisah. Saya berharap menemukan atribut seperti ini:
[MinValue(1, "Value must be at least 1")]
[MaxValue(10, "Value can't be more than 10")]
public int SomeNumber { get; set; }
Apakah ada atribut standar untuk menulis ini? Atau bagaimana saya mencapai ini?
asp.net-mvc-3
validation
stiank81.dll
sumber
sumber
Jawaban:
Berikut adalah cara saya menulis validator untuk MaxValue
Atribut MinValue harus sama persis
sumber
IClientValidation
antarmuka pada atribut di atas dan mengembalikan nilai yang benar dariGetClientValidationRules
metodeSaya rasa atribut validasi min / max tidak ada. Saya akan menggunakan sesuatu seperti
untuk nilai minimum 1 dan
untuk nilai maksimum 10
sumber
RangeAttribute
milikiAllowMultiple = false
, jadi ini tidak dapat dikompilasi.Contoh lengkap bagaimana ini bisa dilakukan. Untuk menghindari penulisan skrip validasi sisi klien, ValidationType = "range" yang ada telah digunakan.
sumber
Plugin Validasi jQuery sudah mengimplementasikan aturan min dan max, kita hanya perlu membuat adaptor untuk atribut khusus kita:
Adaptor:
Atribut min akan sangat mirip.
sumber