Kontrol validasi ASP.NET memvalidasi data yang dimasukkan pengguna untuk memastikan bahwa data yang tidak berguna, tidak sah, dan bertentangan tidak dapat disimpan.
ASP.NET menyediakan aspek kontrol validasi berikut:
DiperlukanFieldValidator
RangeValidator
BandingkanValidator
Validator ekspresi reguler (RegularExpressionValidator)
Validator khusus (Validator Khusus)
Kontrol ringkasan validasi (ValidationSummary)
Kelas validasi mewarisi dari kelas BaseValidator, sehingga mereka mewarisi properti dan metodenya. Oleh karena itu, mempelajari sifat-sifat dan metode kelas dasar ini, yang merupakan dasar dari semua pengendalian efektivitas, akan sangat membantu pembelajaran selanjutnya:
komponen | menggambarkan |
---|---|
KontrolUntukValidasi | Mendapatkan atau menyetel kontrol input untuk divalidasi. |
Menampilkan | Jelaskan bagaimana pesan kesalahan ditampilkan. |
Aktifkan ClientScript | Menunjukkan apakah klien telah mengadopsi verifikasi. |
Diaktifkan | Mengaktifkan atau menonaktifkan validator. |
Pesan Kesalahan | Sebuah string yang menjelaskan kesalahan. |
Teks | Teks yang akan ditampilkan jika validasi gagal. |
Apakah Valid | Menunjukkan apakah nilai kontrol valid. |
SetFocusOnError | Apakah akan menetapkan fokus ke kontrol masukan yang relevan ketika validasi gagal. |
Grup Validasi | Mendapatkan atau menetapkan nama grup validasi yang memiliki kontrol validasi ini. |
Mengesahkan | Melakukan validasi pada kontrol input terkait dan memperbarui properti IsValid. |
Kontrol RequiredFieldValidator memastikan bahwa bidang yang diperlukan tidak kosong. Hal ini terutama terikat pada kotak teks untuk memungkinkan pengguna memasukkan ke dalam kotak teks.
Sintaks untuk kontrol ini adalah sebagai berikut:
<asp:RequiredFieldValidator ID="rfvcandidate" runat="server" ControlToValidate ="ddlcandidate" ErrorMessage="Please choose a candidate" InitialValue="Please choose a candidate"></asp:RequiredFieldValidator>
Kontrol RangeValidator bertanggung jawab untuk memverifikasi apakah nilai yang dimasukkan berada dalam rentang yang telah ditetapkan.
Ia memiliki tiga sifat spesifik:
milik | menggambarkan |
---|---|
Jenis | Ini mendefinisikan tipe data. Tipe data yang tersedia meliputi: Mata Uang, Tanggal, Ganda, Integer, dan String |
Nilai Minimum | Ini menentukan nilai minimum dalam rentang tersebut |
Nilai Maksimum | Ini menentukan nilai maksimum dalam rentang tersebut |
Sintaks kontrol ini adalah sebagai berikut:
<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" MinimumValue="6" Type="Integer"></asp:RangeValidator>
Kontrol CompareValidator memvalidasi nilai berdasarkan nilai yang dimasukkan ke kontrol input lain, nilai numerik konstan, atau tipe data yang benar.
Ia memiliki sifat khusus berikut:
milik | menggambarkan |
---|---|
Jenis | Ini mendefinisikan tipe data. |
KontrolUntuk Membandingkan | Ini menentukan nilai dalam kontrol masukan yang perlu dibandingkan. |
NilaiUntukBandingkan | Ini menentukan nilai yang tidak berubah dalam kontrol input. |
Operator | Ini menentukan operator perbandingan. Nilai yang tersedia meliputi: kesetaraan, ketidaksetaraan, lebih besar dari atau sama dengan, kurang dari, kurang dari atau sama dengan, dan pemeriksaan tipe data. |
Sintaks dasar dari kontrol ini adalah sebagai berikut:
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"></asp:CompareValidator>
Kontrol RegularExpressionValidator memungkinkan Anda menentukan validitas input dengan mencocokkannya dengan ekspresi reguler. Ekspresi reguler diatur di properti ValidationExpression.
Tabel berikut merangkum struktur sintaksis yang umum digunakan dalam ekspresi reguler:
karakter melarikan diri | menggambarkan |
---|---|
B | Cocok dengan tombol spasi mundur. |
T | Tab yang cocok. |
R | Cocok dengan tombol Enter. |
v | Cocok dengan karakter tab vertikal. |
F | Cocok dengan karakter umpan formulir. |
N | Cocokkan baris baru. |
karakter melarikan diri. |
Selain pencocokan karakter sederhana, jenis karakter dapat diatur untuk dicocokkan.
karakter pengganti | menggambarkan |
---|---|
. | Dapat mencocokkan karakter apa pun kecuali n. |
[abcd] | Dapat mencocokkan karakter apa pun di set. |
[^abcd] | Kecualikan karakter apa pun dari set. |
[2-7a-mA-M] | Cocok dengan karakter apa pun dalam rentang tertentu. |
w | Cocok dengan grup karakter alfanumerik dan garis bawah apa pun. |
W | Cocok dengan karakter non-kata apa pun. |
S | Cocokkan karakter seperti spasi, tab stop, baris baru, dll. |
S | Cocok dengan karakter selain spasi apa pun. |
D | Cocok dengan karakter desimal apa pun. |
D | Cocok dengan karakter non-desimal apa pun. |
Quantifier dapat menunjukkan sejumlah kata tertentu di mana suatu karakter muncul.
pembilang | menggambarkan |
---|---|
* | Nol atau lebih kecocokan. |
+ | Satu atau lebih kecocokan. |
? | Nol atau satu kecocokan. |
{N} | N cocok. |
{N,} | N atau lebih kecocokan. |
{N,M} | Cocokkan antara N dan M. |
Sintaks dasar dari kontrol ini adalah sebagai berikut:
<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string" ValidationExpression="string" ValidationGroup="string"></asp:RegularExpressionValidator>
Kontrol CustomValidator memungkinkan penulisan rutinitas validasi khusus sisi klien dan server untuk memvalidasi nilai.
Validasi klien dilakukan dengan tepat melalui ClientValidationFunction. Rutinitas validasi sisi klien harus ditulis dalam bahasa skrip yang dipahami browser, seperti JavaScript atau VBScript.
Rutinitas validasi sisi server harus dihasilkan oleh event handler ServerValidate kontrol. Rutinitas validasi sisi server harus ditulis dalam bahasa .Net apa pun, seperti C# atau VB.Net.
Sintaks dasar dari kontrol ini adalah sebagai berikut:
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction=.cvf_func. ErrorMessage="CustomValidator"></asp:CustomValidator>
Kontrol ValidationSummary tidak melakukan validasi apa pun tetapi menampilkan ringkasan semua kesalahan pada halaman. Ringkasan ini menampilkan nilai properti ErrorMessage dari semua kontrol validasi yang gagal.
Dua pesan kesalahan daftar atribut yang saling inklusif berikut ini:
ShowSummary : Menampilkan informasi kesalahan dalam format khusus.
ShowMessageBox : Menampilkan pesan kesalahan di jendela terpisah.
Sintaks dasar dari kontrol ini adalah sebagai berikut:
<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />
Halaman yang kompleks akan memiliki kumpulan informasi berbeda pada tingkat berbeda. Dalam hal ini, kelompok yang berbeda akan memiliki verifikasi yang berbeda. Situasi ini dapat diselesaikan dengan menggunakan kelompok verifikasi.
Untuk membuat grup validasi, Anda harus menempatkan kontrol input dan kontrol validasi dalam grup logis yang sama dengan mengatur properti ValidationGroupnya.
Contoh berikut menjelaskan formulir empat bagian yang akan diisi oleh seluruh sekolah untuk mencalonkan diri sebagai presiden. Di sini, kita akan menggunakan kontrol validasi untuk memvalidasi apa yang dimasukkan pengguna.
Berikut tampilannya pada tampilan Desain:
Kode untuk bagian ini adalah sebagai berikut:
<form id="form1" runat="server"> <table> <tr> <td colspan="3" align="center"> <asp:Label ID="lblmsg" Text="Formulir Pemilihan Presiden : Pilih formulir Anda presiden" runat="server" /> </td> </tr> <tr> <td> Kandidat: </td> <td> <asp:DropDownList ID="ddlcandidate" runat="server" > <asp:ListItem>Silakan Pilih Kandidat</asp:ListItem> <asp:ListItem>M H Kabir</asp:ListItem> <asp:ListItem>Steve Taylor</asp:ListItem> <asp:ListItem>John Abraham</ asp:ListItem> <asp:ListItem>Venus Williams</asp:ListItem> </asp:DropDownList> </td> <td> <asp:RequiredFieldValidator ID="rfvcandidate" runat="server" ControlToValidate ="ddlcandidate" ErrorMessage="Silakan pilih kandidat" InitialValue="Silakan pilih kandidat"> </asp:RequiredFieldValidator> </td> </tr> <tr> < td> Rumah: </td> <td> <asp:RadioButtonList ID="rblhouse" runat="server" RepeatLayout="Flow"> <asp:ListItem>Merah</asp:ListItem> <asp:ListItem>Biru</asp:ListItem> <asp:ListItem>Kuning</asp:ListItem> <asp:ListItem>Hijau</asp:ListItem> </ asp:RadioButtonList> </td> <td> <asp:RequiredFieldValidator ID="rfvhouse" runat="server" ControlToValidate="rblhouse" ErrorMessage="Masukkan nama rumah Anda" > </asp:RequiredFieldValidator> <br /> </td> </tr> <tr> <td> Kelas: </td> <td> <asp:TextBox ID="txtclass " runat="server"></asp:TextBox> </td> <td> <asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" ErrorMessage="Masukkan kelas Anda (6 - 12)" MaximumValue="12" MinimumValue="6" Type="Integer"> </asp:RangeValidator> </td> </tr> <tr> <td> Email: </td> <td> <asp:TextBox ID="txtemail" runat="server"> </asp:TextBox> </td> <td> <asp:RegularExpressionValidator ID="remail" runat="server" ControlToValidate="txtemail" ErrorMessage="Masukkan email Anda" ValidationExpression="w+([-+.']w+)*@w+([ -.]w+)*.w+([-.]w+)*"> </asp:RegularExpressionValidator> </td> </tr> <tr> <td align="center" colspan="3"> <asp:Button ID="btnsubmit" runat="server" onclick="btnsubmit_Click" style="text-align: center" Teks= "Kirim" /> </td> </tr> </tabel> <asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode ="BulletList" ShowSummary ="benar" HeaderText="Kesalahan:" /></form>
Kode untuk tombol kirim adalah sebagai berikut:
protected void btnsubmit_Click(pengirim objek, EventArgs e){ if (Page.IsValid) { lblmsg.Text = "Terima Kasih } else { lblmsg.Text = "Isi semua kolom";