2012-10-23 3 views
0

LiveValidation을 사용하여 양식을 검증하고 livevalidation을 사용하여 ajax 호출로 사용자 이름의 유효성을 검사하려고합니다. 반환 값이 false 일 때 반환 값을 얻는 데 문제가있어서 사용자 이름을 사용할 수 있는지 여부를 표시 할 수 있습니다. 그러나이 경우에는 항상 사용자 이름을 사용할 수 없습니다.validate.Custom live false를 사용하여 false를 반환하고 true를 반환합니다.

HTML :

<input type="text" id="username" name="username" /> 

JS :

var username = new LiveValidation('username'); 
    username.add(Validate.Presence); 
    username.add(Validate.Length, { minimum: 4, maximum: 10 }); 
    username.add(Validate.Custom, { against: function() { return check_username_availability() }, args:'Username Available' , failureMessage: 'Username is Not Available' }); 

    $.post(base_url+'cms-profile/profile_ajax/valid_username/',{username : $("#username").val()},function(data){ 

    if(data.success == 'no') 
    { 
     return false; 
    } 

    if(data.success == 'yes') 
    { 
     return true; 
    } 
    }); 

PHP : 당신이 그런 일을 복잡하게하고 내가 왜

$check_username = 'some query here'; 

    if($check_username == true){ 
     $output = '{ "success": "no" }'; 
    }else{ 
     $output = '{ "success": "yes" }'; 
    } 

    $output = str_replace("\r", "", $output); 
    $output = str_replace("\n", "", $output); 

    echo $output; 

답변

0

을하지 않습니다.

PHP :

echo json_encode($check_username); 
// I would rename this variable $is_valid_username 
// so it's more obvious what you're doing 

자바 스크립트 :

$.post(base_url+'cms-profile/profile_ajax/valid_username/', 
    { username : $("#username").val() }, 
    function(data) { 
    return $.parseJSON(data); 
    } 
}); 
나는 그게위한 무엇, JSON을 사용
관련 문제