Я использую CodeIgniter с проверкой jQuery.Я использую remote
, чтобы проверить, mobile number
и email id
уже доступны или отсутствуют в базе данных.Таким образом, нет никакой проблемы, когда пользователь регистрируется.Я получаю сообщение об ошибке на странице редактирования.
На странице редактирования я просто изменяю name
и address
, но mobile number
и email id
, которые оба показывают, уже существуют.Я не менял мобильный телефон и электронную почту.Я знаю, что он вызовет контроллер, чтобы проверить, доступны ли мобильные телефоны и электронная почта, или нет, но есть ли другой способ справиться с этой проблемой?
Я имею в виду, чтобы не проверять предыдущие данные и проверять текущие данные, если пользователь вводитчто-нибудь в поле.
Я хочу проверить пользователя по базе данных при создании учетной записи, но НЕ проверять пользователя по базе данных при редактировании учетной записи.
$("#edit_member").validate({
errorElement: 'div',
rules: {
name: {
required: true,
alphabets: true,
minlength: 3
},
email: {
required: true,
Email: true,
remote: {
url: baseUrl + "/AddMember/isEmail",
}
},
phone: {
required: true,
number: true,
minlength: 10,
maxlength: 10,
remote: {
url: baseUrl + "/AddMember/isMobile",
// async: false
}
},
address: {
required: true,
minlength: 10
}
},
messages: {
email: {
remote: "Email already Exists"
},
phone: {
remote: "Mobile no already Exists"
},
},
submitHandler: function(form) {//form.submit();}
});
Контроллер
function isEmail()
{
$email = trim($this->input->get('email'));
$result = $this->addmember_model->isEmail($email);
if($result)
{
echo $msg = "false";
}
else
{
echo $msg = "true";
}
}
function isMobile()
{
$mobile = trim($this->input->get('phone'));
$result = $this->addmember_model->isMobile($mobile);
if($result)
{
echo $msg = "false";
}
else
{
echo $msg = "true";
}
}
Модель
function isEmail($email)
{
$result = $this->db->where(['email'=>$email,'is_status'=>1])
->get('members')
->row();
return $result;
}
function isMobile($mobile)
{
$result = $this->db->where(['phone'=>$mobile,'is_status'=>1])
->get('members')
->row();
return $result;
}