e.preventDefault(); values = { primery_key: 0, name: $('#name').val(), type: $('#type').val(), cnic: $('#cnic').val(), address: $('#address').val(), mobile: $('#mobile').val(), email: $('#email').val(), ptcl_number: $('#ptcl_number').val(), broker_pic: $('#broker_pic').val(), };
if(values.name == '' || values.type == '' || values.cnic == '' || values.address == '' || values.mobile == '' || values.email == '' || values.ptcl_number == '' || values.broker_pic == '')
{
toastr.error('Please fill all the fields');
}
else
{
tempdb_conn.broker_table.add(values).unique(['primery_key']).then(function(id) {
toastr.success('Data saved successfully.');
$('#name').val('');
$('#type').val('');
$('#cnic').val('');
$('#address').val('');
$('#mobile').val('');
$('#email').val('');
$('#ptcl_number').val('');
$('#broker_pic').val('');
}).catch(function(e) {
toastr.error('Data already exist.');
});
}
I'm not that familiar with Dixie.js, but checking the documentation I'm guessing something like this... In your collection every column you want to be unique needs to be a primary key.
See schema Schema Syntax at https://dexie.org/docs/Version/Version.stores()
Then use uniqueKeys() https://dexie.org/docs/Collection/Collection.uniqueKeys()
Like this:
tempdb_conn.broker_table.add(values).uniqueKeys(function() {
toastr.success('Data saved successfully.');
$('#name').val('');
$('#type').val('');
$('#cnic').val('');
$('#address').val('');
$('#mobile').val('');
$('#email').val('');
$('#ptcl_number').val('');
$('#broker_pic').val('');
}).catch(function(e) {
toastr.error('Data already exist.');
});