2016-12-06 16 views
0

私は電話番号を持つフォームを検証しようとしており、正確に10桁にしたいと考えています。しかし、入力が正しくてもエラーが出ます。コントローラーで次のコードを使用していますので、変更が必要なものについて助言してください。正確に10桁の数字のラーバル検証

public function tytraining(Request $request) 
    { 

     $this->validate($request, [ 
      'txt_name' => 'required', 
      'txt_email' => 'required|email', 
      'txt_phone' => 'required|numeric|between:9,11' 
     ]); 

     $name = Input::get('txt_name'); 

     $email = Input::get('txt_email'); 

     $phone = Input::get('txt_phone'); 

     $type = "bls-training"; 
     $url = '?' . Input::get('url'); 

     $medicalRequest = new ParseObject("MedicalRequest"); 

     $medicalRequest->set("name", $name); 
     $medicalRequest->set("email", $email); 
     $medicalRequest->set("phone", $phone); 
     $medicalRequest->set("type", $type); 
     $medicalRequest->set("requestMessage", "training"); 
     $medicalRequest->set("url", $url); 

     try { 
      $medicalRequest->save(); 

     } catch (ParseException $ex) { 
      echo(' Some Error Occured'); 
     } 
    } 

は、あなたの貴重な時間を費やして、私の懸念を経由して私を助けるため、事前にすべてのいただきありがとうございますどのように私はLaravelを通じて検証を行う必要があります。..教えてください。

+1

あなたが「エラーを起こす」と言うとき。どのようなエラー?検証に失敗したようですか、それとも実際のエラーですか? –

+0

データベースに整数として携帯番号を保存しないので、文字列に変換する場合は試してみてください: 'https:// laravel.com/docs/5.3/validation#rule-size' –

答えて

2

使用サイズと数字検証 https://laravel.com/docs/5.3/validation#rule-digits

$this->validate($request, [ 
      'txt_name' => 'required', 
      'txt_email' => 'required|email', 
      'txt_phone' => 'required|digits:10' 
     ]); 
+0

私はlaravel 5.2を使用していますここの桁の名前による検証は表示されません。 –

+0

https://laravel.com/docs/5.2/validation#rule-digits –

+0

ええサムそれはそこにありますが、数字を検証していません..私は一時的にstrlen()を検証のために使用し、より良い解決策を望んでいます。 –

0

あなたはLaravelのバージョンを言及していないが、あなたの携帯電話のルールは以下のようになりますように、少なくともLaravel 4.2以来、あなたはdigits ruleを持っており、これはあなたがここに必要なものですこれは:

'txt_phone' => 'required|numeric|digits:10' 
+0

私はlaravel 5.2を使用していますが、数字の妥当性は確認されていません。 –

+0

桁数のバリデーションはありますが、動作していません –