2014-07-21 2 views
0

내가 사용하고 중력 양식 (1.8.9) 및 워드 프레스 양식 (3.9.1)중력은 워드 프레스 날짜 선택기 연령 확인

내 사이트에 날짜 선택기로 양식 필드를 가지고 있고, 내가 제출 만 허용 할 사용자가 21 세 이상인 경우 양식을 제출할 수 있습니다.

나는 원래 다음 코드를 사용하고있었습니다. 잠시 동안 하나의 양식으로 만 작동했지만 완전히 작동을 멈췄습니다. http://lanche86.com/gravity-forms-18-years-old-verification/

다른 양식으로 같은 코드를 사용하고 싶습니다. 도움!

답변

2

당신은 같은 것을 할 수 있습니다 : 나는 중력을 사용하고

add_filter("gform_field_validation_1_1", "dob_validate", 10, 4); 

function dob_validate($result, $value, $form, $field){ 
    //Check if dob field matches required age 
    if ($result["is_valid"]){ 
     // this the minimum age requirement we are validating 
     $minimum_age = 18; 

     // calculate age in years like a human, not a computer, based on the same birth date every year 
     $age = date('Y') - substr($value, 6, 4); 
     if (strtotime(date('Y-m-d')) - strtotime(date('Y') . '-' . substr($value, 0, 2) . '-' . substr($value, 3, 2)) < 0) { 
      $age--; 
     } 

     if($age < $minimum_age){ 
      $result["is_valid"] = false; 
      $result["message"] = "Sorry, you must be at least $minimum_age years old. You're $age years old."; 
     } 
    } 
    //Check if dob field is empty 
    if(empty($value)){ 
     $result["is_valid"] = false; 
     $result["message"] = "This field is required."; 
    } 
    return $result; 
} 

은 1.8.8 최신 워드 프레스 양식 원하는대로 작동합니다. 양식 ID가 8 및 필드 번호가 2 인 경우 gform_field_validation_1_1 양식 1, 필드 1을위한

add_filter("gform_field_validation_1_1", "dob_validate", 10, 4); 

: 형성 또한이있어서 편집 할 수 있습니다

enter image description here

과 필드 : 스크린 샷 이를 gform_field_validation_8_2으로 변경할 수 있습니다.

dob_validate 기능을 다시 만들지 않고도 여러 양식과 입력란에 동일한 필터를 여러 번 추가 할 수도 있습니다.

+0

덕분에 코드를 매우 비슷하게 사용하고 있었고 정상적으로 작동하고 있었고 갑자기 작동이 멈췄습니다. 나는 당신의 코드를 사용해 보았고, 나는 여전히 폼을 제출할 수있다. 내 테마 또는 플러그인과의 충돌을 생각하고 있습니다. 이 사이트는 카지노 용이며 동일한 카지노의 다른 부동산에 대한 사이트에서 일하는 개발자가 테마를 제공했습니다. 모든 것은 맞춤 포드로 작성됩니다. 나는 운이 없을지도 모른다. 그래도 감사합니다! – dynamicad