Javascript Codeigniter:在进入控制器之前验证数据
我正在通过单击submit按钮验证数据,然后再次加载视图。我只想在加载控制器之前在页面上显示错误。它不是表单验证。这只是一个数据验证。我认为您可以使用AJAX进行验证。Javascript Codeigniter:在进入控制器之前验证数据,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,我正在通过单击submit按钮验证数据,然后再次加载视图。我只想在加载控制器之前在页面上显示错误。它不是表单验证。这只是一个数据验证。我认为您可以使用AJAX进行验证。在查看页面中 in view page <script type="text/javascript"> $(document).ready(function() { /// make loader hidden in start $('#loading').hide();
在查看页面中
in view page
<script type="text/javascript">
$(document).ready(function() {
/// make loader hidden in start
$('#loading').hide();
$('#email').blur(function(){
var email_val = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
if(filter.test(email_val)){
// show loader
$('#loading').show();
$.post("<?php echo site_url()?>/user/email_check", {
email: email_val
}, function(response){
$('#loading').hide();
$('#message').html('').html(response.message).show().delay(4000).fadeOut();
});
return false;
}
});
});
</script>
in controller function
public function email_check()
{
// allow only Ajax request
if($this->input->is_ajax_request()) {
// grab the email value from the post variable.
$email = $this->input->post('email');
// check in database - table name : tbl_users , Field name in the table : email
if(!$this->form_validation->is_unique($email, 'tbl_users.email')) {
// set the json object as output
$this->output->set_content_type('application/json')->set_output(json_encode(array('message' => 'The email is already taken, choose another one')));
}
}
}
$(文档).ready(函数(){
///使加载程序隐藏在开始位置
$(“#加载”).hide();
$('#email').blur(函数(){
var email_val=$(“#email”).val();
var过滤器=/^[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+[a-zA-Z0-9.+[a-zA-Z0-9]+[a-z]{2,4}$/;
如果(过滤测试(电子邮件){
//显示加载器
$(“#加载”).show();
$.post(“/user/email\u check”{
电子邮件:email\u val
},功能(回应){
$(“#加载”).hide();
$('#message').html('').html(response.message.show().delay(4000.fadeOut());
});
返回false;
}
});
});
在控制器功能中
公共功能电子邮件检查()
{
//仅允许Ajax请求
如果($this->input->is\u ajax\u request()){
//从post变量中获取电子邮件值。
$email=$this->input->post('email');
//签入数据库-表名:tbl_用户,表中的字段名:电子邮件
如果(!$this->form\u validation->is\u unique($email,'tbl\u users.email')){
//将json对象设置为输出
$this->output->set_content_type('application/json')->set_output(json_encode(数组('message'=>'电子邮件已被接收,请选择另一封));
}
}
}
数据是什么意思?数据验证?例如,我正在检查一个数组是否有重复值。如果没有,则将值放入数据库,否则返回错误。