Tips ini dibuat berdasarkan request dari Intan purnama sari yang bertanya bagaimana cara menambahkan validasi ketika proses insert/update misal: data sudah ada atau data yang akan ditambahkan ke database tidak boleh bernilai kosong (menggunakan LinqDataSource).
1. Buat Web Form dengan nama ValidasiInsert.aspx, kemudian tambahkan LinqDataSource dan DetailsView
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Valdiasi Insert</title> </head> <body> <form id="form1" runat="server"> <div> <asp:LinqDataSource ID="ldsKategori" runat="server" ContextTypeName="MhsDataClassesDataContext" EnableInsert="True" EntityTypeName="" oninserting="ldsKategori_Inserting" TableName="Kategoris"> </asp:LinqDataSource> <asp:DetailsView ID="dvKategori" runat="server" Height="50px" AutoGenerateRows="False" DataKeyNames="id_kat" DataSourceID="ldsKategori" DefaultMode="Insert"> <Fields> <asp:BoundField DataField="id_kat" HeaderText="id_kat" InsertVisible="False" ReadOnly="True" SortExpression="id_kat" /> <asp:BoundField DataField="nama_kat" HeaderText="Nama Kategori" SortExpression="nama_kat" /> <asp:CommandField ShowInsertButton="True" /> </Fields> </asp:DetailsView> <br /> <asp:Label ID="lblError" runat="server" ForeColor="Red" /> </div> </form> </body> </html>
2. Tambahkan Kode pada event ldsKategori_Inserting untuk mengecek inputan pada saat perintah insert akan dijalankan.
private MhsDataClassesDataContext db = new MhsDataClassesDataContext(); protected void ldsKategori_Inserting(object sender, LinqDataSourceInsertEventArgs e) { //cek apakah data kosong atau tidak ditambahkan var objKategori = (Kategori)e.NewObject; if (string.IsNullOrEmpty(objKategori.nama_kat)) { lblError.Text = "Nama Kategori harus diisi !"; e.Cancel = true; } //cek apakah kategori sudah ada var cekKategori = (from k in db.Kategoris where k.nama_kat == objKategori.nama_kat select k.nama_kat).FirstOrDefault<string>(); if (!string.IsNullOrEmpty(cekKategori)) { lblError.Text = "Nama Kategori Sudah Ada.."; e.Cancel = true; } }
Anda dapat mendownload contoh aplikasi diatas donwload disini.
makasih atas bantuannya, tapi kalo dya berupa int seperti nim bagaimana mas??apa sama saja??karna stlah saya coba untuk yang insert berupa numerik ex nim tidak bisa,,
gmana mas kalo dia berupa long?bukan string, seperti nim???
gmna kalo pengimputan data mis: bidang studi matematika, jadi admin tidak bisa mengimput data matematika jjjj/ matematika 1234,
intinya dia mengecek apakah nama sudah ada dan tidak boleh ditambah dengan variabel lainnya.,,
mohon bantuaannya ^____^