2017-11-07 7 views
-2

특정 형식의 정수가 필요한 스트라이프 은행 계좌 확인 양식이 있습니다. 잘못 사용자 입력 뭔가 제출하면 소수 부분이없는, 아니 편지 등 페이지는 다음과 같이 변신 없습니다 : 양식 페이지에 남아있는 동안 PHP 오류 처리

Fatal error: Uncaught Stripe\Error\InvalidRequest: Expecting integers...then a bunch of useful but garbage-looking information

또는

은행 계정이 이미 뭔가를 같이 한 후 확인 된 경우 :

Fatal error: Uncaught Stripe\Error\InvalidRequest: This bank account has already been verified.....then a bunch of useful but garbage-looking information

내 페이지와 내 로고 등을이 오류로 대체하므로 사용자가 다시 시도하려면 뒤로 버튼을 클릭해야합니다.

정수가 쉽게 될 수있는 것과 같은 내 자신의 오류 검사를 추가 할 수 있다는 것을 알고 있습니다. 이미 검증 된 것은 조금 더 어려울 것입니다. 그러나 스트라이프는 이미 오류를 감지하고이를이 형식으로 반환하기 위해 노력했기 때문에 내 자신의 작업을 수행하고 바퀴를 발명하고 싶지 않습니다.

그럼에도 불구하고 양식이 표시된 동일한 페이지에 사용자를 유지하고 수정해야 할 부분을 알 수 있도록 오류를 맨 위에 표시하려면 어떻게해야합니까?

if (!empty($_POST["valueOne"]) and !empty($_POST["valueTwo"])) 
     { 

      https://dashboard.stripe.com/account/apikeys 
      \Stripe\Stripe::setApiKey("secret key"); 

      // get the existing bank account 
      $customer = \Stripe\Customer::retrieve($customerHash); 
      $bank_account = $customer->sources->retrieve($bankHash); 

      // verify the account 
      $bank_account->verify(array('amounts' => array($_POST['valueOne'], $_POST['valueTwo']))); 
     } 
+0

클라이언트 측 유효성 검사를 사용 해본 적이 있습니까? 이렇게하면 양식을 제출하기 전에 가능한 오류를 잡을 수 있습니다. 여전히 서버 쪽 유효성 검사를 유지하려고합니다. 그러나 클라이언트 측 유효성 검사는 설명하는 시나리오에서 자주 사용됩니다. –

+0

PHP 코드에서 오류 처리 ('try ... catch')를 처리하고 항상 바람직한 방식으로 출력을 생성하는지 확인하십시오. Ajax 호출로 서버 유효성 검사를 호출하는 것도 고려할 수 있습니다. – trincot

+0

..... 그렇다면 유용하고 쓰레기가 많은 정보를 얻을 수 있다면 유용한 정보 일 것입니다. – Martin

답변

-1

이 자바 스크립트/jQuery를 사용하여 클라이언트 측 유효성 검사를위한 고전적인 사례입니다 : 여기

는 입력이 올바른 형식이 아니거나 다른 문제가 있는지 경우 오류를 throw하는 코드 . 클라이언트 측 유효성 검사의 목적은 값이 요구 사항을 충족시키지 못할 때 (또는 누락 된 경우) 양식이 제출되지 않도록하는 것입니다.

클라이언트 측 유효성 검사가 회피 될 수 있으므로 서버 측 유효성 검사를 계속 수행해야합니다.

그러나 클라이언트 쪽 유효성 검사는 제출 된 값이 "올바른지"확인하는 첫 번째 단계입니다.

추가 읽기 : JavaScript: client-side vs. server-side validation

+0

당신은 가능한 복제본에 표절되어 있습니다 –

+0

@ Fred-ii- : 무엇? 이것들은 제 자신의 말로되어 있습니다. 질문은 PHP 유효성 검사에 대한 질문이며, 이것이 클라이언트 측 유효성 검사의 경우입니다. 나는 내가 "내 대답"을 쓰고 난 후에야 "더 읽기"를 찾지도 않았다. –

+0

농담하는 거지? –