Целесообразно проводить валидацию как на передней, так и на задней стороне, в то время как я бы поспорил с использованием alert()
с точки зрения ux.
Учитывая это, я бы реализовал проверку формы, которая решала бы 2 проблемы: проверку бэкэнда (потому что на стороне клиента никогда нельзя доверять), и чтобы убедиться, что имя пользователя уникально.
Например
function add_new_user() {
$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'required');
// ^ do the same for your other fields
$this->form_validation->set_rules('username', 'Username', 'required|is_unique[users.username]'); // is_unique `table_name`.`username field`
if (!$this->form_validation->run()) {
echo json_encode(['status' => 'error', 'msg' => validation_errors()]);
}
// post stuff to database
echo json_encode(['status' => 'success', 'msg' => '']);
}
И js будет выглядеть примерно так:
$.ajax({
url: "<?php echo base_url() . 'index.php/admin/Welcome/add_user_new'; ?>",
data: 'name=' + frstname + '&lastname=' + lstname + '&email=' + uemail + '&username=' + uname + '&password=' + upasswd,
async: false,
type: "POST",
dataType: 'json',
success: function (data) {
if (data.status == 'success') {
$('#add_new_user_mod').modal('hide');
alert('User added successfully');
window.location = "<?php echo base_url() . 'index.php/admin/Welcome/users'; ?>";
} else {
alert(data.msg);
}
}
});