Pada proyek MVC3 saya, saya menyimpan prediksi skor untuk sepak bola / sepak bola / hoki / ... permainan olahraga. Jadi salah satu properti kelas prediksi saya terlihat seperti ini:
[Range(0, 15, ErrorMessage = "Can only be between 0 .. 15")]
[StringLength(2, ErrorMessage = "Max 2 digits")]
[Remote("PredictionOK", "Predict", ErrorMessage = "Prediction can only be a number in range 0 .. 15")]
public int? HomeTeamPrediction { get; set; }
Sekarang, saya juga perlu mengubah pesan kesalahan untuk tipe data, int
dalam kasus saya. Ada beberapa default yang digunakan - "Field HomeTeamPrediction harus berupa angka.". Perlu menemukan cara bagaimana mengubah pesan kesalahan ini. Pesan validasi ini juga tampaknya mengambil prediksi untuk validasi jarak jauh.
Saya sudah mencoba [DataType]
atribut tetapi tampaknya ini tidak menjadi nomor biasa dalam system.componentmodel.dataannotations.datatype
pencacahan.
sumber
Cobalah salah satu ekspresi reguler berikut:
semoga membantu: D
sumber
int.MaxValue
hanya berlaku sampai2.147.483.647
Gunakan ekspresi reguler dalam anotasi data
sumber
[0-9]+
?sumber
Coba atribut ini:
Dan juga Anda harus mendaftarkan atribut di plugin validator:
sumber
hampir satu dekade berlalu tetapi masalah masih berlaku dengan Asp.Net Core 2.2 juga.
Saya mengelolanya dengan menambahkan
data-val-number
ke kolom input penggunaan lokalisasi pada pesan:sumber
ASP.NET Core 3.1
Ini adalah implementasi fitur saya, ini berfungsi di sisi server serta dengan validasi jquery yang tidak mengganggu dengan pesan kesalahan khusus seperti atribut lainnya:
Atribut:
Logika sisi klien:
Dan akhirnya Penggunaan:
sumber