javascript - 使用 Codeigniter 表单验证和 Jquery 序列化

标签 javascript php jquery codeigniter validation

我想使用 CI 的表单验证方法来验证我的输入数据。作为通过 AJAX 提交的表单,我使用 serializeArray() 将数据发布到我的 Controller ,因此我不必发布一个数据或编写一些 each() 功能。问题是表单验证在 $_POST 中查找数据。使用 serialize() 也无济于事。除了扩展表单验证库之外还有什么解决方案吗?

这里是我的代码: ( Controller )

$form_data = $this->input->post('form_data');

$this->load->library('form_validation');
$this->form_validation->set_rules('p_company_name', 'نام شرکت', 'required');
if ($this->form_validation->run() == FALSE)
{
  echo "fail";die(); // if i use serialize() or serializeArray()
}
else
{
  echo "success";die(); // if i use label:value for each form input
}

js代码:

$.ajax({
    type: "POST",
    cache: false,
    url: url,
    data: {'form_data': form_data},
    dataType: "html",
    success: function(res, textStatus, xhr) 
    {
        //  do something
    },
    error: function(xhr, textStatus, thrownError)
    {
        //do something else
    },
    complete: function()
    {
        // do some final thing
    },
    async: true
});

提前致谢

最佳答案

将您的数据发布为:

data: form.serialize(),

它将正常工作(表单是对页面表单的普通 jquery 引用,而不仅仅是“表单”一词)

关于javascript - 使用 Codeigniter 表单验证和 Jquery 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19492791/

相关文章:

php - 使用 jquery ajax 处理 302 重定向时出现问题

php - DataTables:#example 工作但 #datatable 在进行 AJAX 调用时不工作

javascript - 有没有一种简单的方法可以创建一次显示多个月份的月/年日期选择器?

javascript - 如何通过jquery过滤字符串 "1M,3F,2M"到 "1,3,2"?

javascript - 标签显示在标记上方 - MarkerWithLabel

javascript - 使用两个中间 $.getJSON 调用将字符串数组转换为对象数组

javascript - 元素之间的动画延迟

JavaScript 如何从数组中获取所有字符串并使用过滤器打印它们?

php - PHP 中的聚合和委托(delegate)是什么?

javascript - 与不可点击的背景图片链接