codeigniter 양식 검사기가 항상 true를 반환하는 이유를 알지 못합니다. 테스트의 경우 별칭 요소 값이 테스트와 같은지 확인합니다. 별칭 요소에 test를 입력하고 jquery 코드가 ajax를 실행합니다. 나는 firebug의 post tab에서 post 값을 검사했다 : alias = test 그러나 codeigniter 또한 true를 리턴한다. false를 반환해야하는 이유는 무엇입니까? 어떤 도움이라도 대단히 감사합니다. 고마워요
codeignitor 번호 :Jquery .ajax() 및 codeigniter 양식 검사기 : codeigniter가 항상 true를 반환하는 이유는 무엇입니까?
<?php
class Validate_livestock extends Controller
{
//create a variable to be used for an array to pass back to the livestock form if there are errors.
var $validate_field;
function Validate_livestock()
{
parent::Controller();
//echo 'species11: '.$fs;
//turn the validation_field variable into an array
$this->validate_field = $this->uri->uri_to_assoc(3);
}
function validate_form()
{
//load the form validation library
$this->load->library('form_validation');
//set form validation rules
switch ($this->validate_field['field']){
case "alias":
$this->form_validation->set_rules('alias', 'Alias', 'callback_alias_check', 'trim|xss_clean');
//echo 'input: ' . $this->input->post('alias');
break;
}
//see if the form validates
if ($this->form_validation->run() == FALSE)
{
//print_r($this->validate_field['field']);
$this->load->view('false');
//echo $this->form_validation->run();
//echo "Validator Successfully ran.";
}
else
{
//print_r($this->validate_field['field']);
$this->load->view('true');
//echo $this->form_validation->run();
//echo "Validator Unsuccessfully ran.";
}
function alias_check($str)
{
if ($str == 'test')
{
return FALSE;
}
else
{
return TRUE;
}
}
}
}
}
?>
jQuery 코드 : $ (문서) .ready (함수() { 함수 validateElement (formId, 요소, errorContainer) {
$.ajax({
type: 'POST',
cache: false,
url: "validate_livestock/" + "validate_form/field/" + element,
data: element+"="+$('#'+element).val(),
context: document.body,
dataType: 'html',
success: function(){
alert(document.body)
}
});
}
$('#alias').change(function(){
validateElement('#add_livestock', 'alias', '#alias_error_1')
});
}) ;
우수함! 고맙습니다! – dottedquad