【发布时间】:2014-04-23 14:42:19
【问题描述】:
您好,我正在做一个验证表格。我使用 codeigniter,所以我当然会使用 php 进行第一次验证。
我也有一个 .js 文件来验证表单。问题是进行了一些更改,现在文件不再正常工作。
当某个字段通过验证时,该字段旁边会出现一个绿色图标。如果没有,则输入框显示为红色。
一个不工作的字段是documentn。我做了一个函数来检查文档是否已经在数据库中。它过去有效,现在我无法弄清楚为什么无效。
这是文件中的一个 sn-p:
form2.validate({
errorElement: 'span', //default input error message container
errorClass: 'help-inline', // default input error message class
focusInvalid: false, // do not focus the last invalid input
ignore: "",
onfocusout: function (element) {
$(element).valid();
},
rules: {
documentn: {
required: true,
minlength: 7,
maxlength: 20,
digits: true,
remote: {
url: '/checkDocNumber',
type: 'POST',
data: {
documentn: function(){
var dn = $('#documentn').val();
$("#documentn").removeData("previousValue");
return dn;
}
}
}
},
这是我的 admin.php 中的 sn-p:
public function updateFrontUser(){
$result = array();
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->database();
$this->form_validation->set_rules('documentn', 'Nro de Documento', 'required|min_length[7]|max_length[20]|is_natural');
这是检查文档是否已存在于数据库中的函数:
public function checkDocNumber(){
if (isset($_POST['documentn'])){
$dn = UserManager::getInstance()->getByDocument($_POST['documentn']);
if ($dn){
echo "true";
}else{
echo "false";
}
}
}
如何检查远程规则中的数据是否正在传递给我的 checkDocNumber 函数?
编辑
当我进行浏览器检查时,没有出现错误!
【问题讨论】:
-
这非常接近一个好问题,你只需要添加一条信息:当你收到关于
Cannot read property 'call' of undefined的错误时,点击它旁边的向下箭头,然后查看调用堆栈。这应该告诉您在生成错误时实际调用了哪些库/函数。 -
@Ryley 嘿,现在我在检查时没有显示任何错误。我修复了一个错误,但字段文档仍然无法正常工作……这很奇怪,因为现在没有出现 js 错误。我将从我的帖子中编辑该部分。
标签: javascript php jquery codeigniter validation