【发布时间】:2017-04-22 18:34:06
【问题描述】:
我试图在 Codeigniter 中使用 ajax 进行简单的表单验证,它有一个文本字段和 3 个单选按钮...文本字段的表单错误显示错误,但单选按钮的错误未显示...
请帮忙...
HTML 页面
<form action="<?php echo base_url('register') ?>" method="POST" id="regID">
<div class="form-field">
<input type="radio" name="cars" value="BMW">BMW
<input type="radio" name="cars" value="Ferrari">Ferrari
<input type="radio" name="cars" value="Audi">Audi
</div>
<div class="form-field">
<input type="text" name="name" id="name">
</div>
<input type="submit" id="submitter">
</form>
阿贾克斯
<script type="text/javascript">
$("#regID").submit(function(){
var form = $(this);
$.ajax({
url : form.attr('action'),
type : form.attr('method'),
data : form.serialize(),
dataType : 'json',
success : function(response){
if(response.success == true)
{
alert('DONE');
}
else
{
$.each(response.messages, function(index, value){
var element = $('#'+index);
$(element)
.closest('.form-field')
.find('.text-danger').remove();
$(element).after(value);
});
}
}
});
return false;
});
</script>
控制器
public function register()
{
$this->form_validation->set_rules('name', 'Name', 'required',
array(
'required' => 'Name Required',
)
);
$this->form_validation->set_rules('cars', 'Cars', 'required',
array(
'required' => 'Cars Required',
)
);
$this->form_validation->set_error_delimiters('<p class="text-danger">* ', '</p>');
if($this->form_validation->run() == TRUE)
{
$validator['success'] = true;
}
else
{
$validator['success'] = false;
foreach ($_POST as $key => $value)
{
$validator['messages'][$key] = form_error($key);
}
}
echo json_encode($validator);
}
当我这样做时,我只能为文本字段显示错误,而不是单选按钮。如果所有单选按钮都未选中,我想运行验证错误....
我该怎么做...请帮助...
【问题讨论】:
标签: php codeigniter