我想知道是否有人可以帮助我解决这个问题。我目前正在尝试将坦克身份验证集成到我的代码点火器站点中。我正在慢慢到达那里,但遇到了一个小绊脚石,因为当我将错误消息从作为 html 视图的一部分显示移动到 javascript 警报时,他们仍在打印错误消息周围的段落标签。
我认为作为数组/或多维数组传递给我的登录表单的错误消息是通过以下代码行在控制器中生成的:
$data['errors'] = array();
foreach ($errors as $k => $v) $data['errors'][$k] = $this->lang->line($v);
这是我用于显示错误消息的代码:
if ((isset($errors[$login['name']]))||(isset($errors[$password['name']]))||(form_error($login['name']))||(form_error($password['name']))){
echo'<script type="text/javascript">alert("';
}
echo form_error($login['name']);
echo isset($errors[$login['name']])?$errors[$login['name']]:'';
echo form_error($password['name']);
echo isset($errors[$password['name']])?$errors[$password['name']]:'';
if ((isset($errors[$login['name']]))||(isset($errors[$password['name']]))||(form_error($login['name']))||(form_error($password['name']))){
echo'")</script>';
}
现在我在这里的主要问题是如何删除paragreaph标签,我在代码点火器文档中发现了一个线索:http://codeigniter.com/user_guide/libraries/file_uploading.html他们这里的关键部分是 它说您可以通过这样做来设置上传脚本上的错误:
$this->upload->display_errors('<p>', '</p>');
但是我不知道如何以及在何处将其应用于坦克身份验证。
我还有第二个问题,我将不胜感激任何可以回答的人,我对显示错误消息的代码感到有些困惑。例如:
echo form_error($password['name'])
有人可以向我解释一下,它一开始没有 $,所以不是一个变量,所以它到底是怎么回事,我真正想得到的是如何简化我在检查错误消息时的逻辑,因为它目前非常冗长,有很多错误消息需要处理。
我很感激这里有很多事情要处理,但任何帮助/解释都将不胜感激。
若要删除包装错误消息的标记,必须使用 2 个空字符串作为参数调用表单验证对象的 set_error_delimiters()
方法。
$this->form_validation->set_error_delimiters('', '');
更多关于这个: https://codeigniter.com/user_guide/libraries/form_validation.html#changing-the-error-delimiters
至于你的第二个问题,我不确定你到底在问什么。它只是一个函数调用,其中调用的返回值将输出给用户。