【问题标题】:codeigniter ignores empty post data..issue with validationcodeigniter 忽略空的帖子数据.. 验证问题
【发布时间】:2015-08-05 05:30:33
【问题描述】:

如何显示用户提交的空字段??

if($this->input->post('name')){
    $data['name'] = $this->input->post('name');
}elseif(!empty($details)) {
    $data['name'] = $details['name'];
}else{
    $data['name'] = '';
}

但是如果用户清除输入字段并提交,它不会显示输入为空它会执行elseif语句虽然用户提交发布请求。

如何避免这种情况?

我想说该字段为空

【问题讨论】:

  • 不能用jquery来验证吗?
  • 请检查可能是这个stackoverflow.com/questions/24829722/…的副本@
  • 不是@Sudarshan
  • 但是试试解决方案,不能用javascript或者jquery来验证吗?
  • 尝试 isset($this->input->post('name')) 或 !empty($this->input->post('name'))

标签: php codeigniter


【解决方案1】:

$this->input->post 仅当名称在 POST 数组中不存在时才返回 false

$data['name'] = $this->input->post('name');
// here empty($data['name']) gives you correct answer
if (!$data['name'])
   $data['name'] = empty($details) ? '' : $details['name'];

【讨论】:

    【解决方案2】:

    此验证检查 $_POST 中的字段是否存在。

    如果你想限制用户避免空条目。 有两种方法:

    1) 客户端(使用 jquery 或 javascript 或仅在 <input 标签中使用 html5 的标签 required='required' 即可)

    2) 服务器端,

    if($this->input->post('name')){
       $setErrorMessage = "Empty field is not allowed";  
    }
    

    并将用户连同错误消息一起返回到页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多