2017-01-13 3 views
0

フォームを送信する前にこのJavaScriptコードで検証を行いました。検証はうまくいっていますが、同時にデータベースへのデータの提出です。条件が間違っていれば、提出したくありません。ここでZendフレームワークでフォームを送信する前にJavaScriptを使用して検証する方法

は私のコードです:

<form action="<?= $this->form->getAction() ?>" method="<?= $this->form->getMethod() ?>" class="stdform stdform2" id="product" enctype="multipart/form-data"> 
       <?= $this->form->employee_id ?> 
       <p> 
        <?= $this->form->name ?> 
       </p>        
       <p> 
        <?= $this->form->type ?> 
       </p> 
       <p> 
        <?= $this->form->brand ?> 
       </p> 
       <p> 
        <?= $this->form->model ?> 
       </p> 
       <p> 
        <?= $this->form->condition ?> 
       </p> 
       <p> 
        <?= $this->form->about ?> 
       </p> 
       <p> 
        <?= $this->form->listedon ?> 
       </p> 
       <p> 
        <?php echo $this->form->reserved_price; ?> 
       </p> 
       <p> 
        <?php echo $this->form->Purchased_price; ?> 
       </p> 
       <p> 
        <?php echo $this->form->buy_now_price; ?> 
       </p> 
       <p> 
        <?= $this->form->sale_end_date ?> 
       </p> 

       <p class="stdformbutton"> 
        <?= $this->form->save ?> 
        <?= $this->form->cancel ?> 
       </p>  

      </form>       

と私はそれのために書いたJSコードは以下の通りです:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     // $("#type option[value='null']").attr("disabled","disabled"); 
var a2=parseInt($('#reserved_price').val()); 
        var a3=parseInt($('#Purchased_price').val()); 
        var a4=parseInt($('#buy_now_price').val()); 


$('#product').form2json({success: function() { 



        if(a2 >= a3 && a2 >= a4) 
        { 
         alert("Ensure the minimum price should be lesser than the Purchased and Buy now price"); 
        } 
        else 

      location.href="/sellproduct/index"; 

      } 
        });  
     $('#cancel').click(function() { 
      location.href="/sellproduct/index"; 
     }); 
     $('#listedon').val($.datepicker.formatDate("yy-mm-dd", new Date())) 
     $("#sale_end_date").datepicker({minDate:0, "dateFormat": 'yy-mm-dd', changeMonth: true, changeYear: true, firstDay: 1 }); 

    }); 
</script> 

誰もがそれのために右のコードを書くために私を助けてくださいことはできますか?

+0

あなたのサーバー上で検証する必要があります。クライアント側での検証は安全ではありません。なぜなら、あるフォームが別のフォームやページからスクリプトにデータを送信したり、ブラウザ内のページを編集したりするだけなので(firebugなど) – radicarl

答えて

0

あなたはこのようなあなたの検証の下return falseステートメントを配置する必要があります、

if(a2 >= a3 && a2 >= a4) 
{ 
    alert("Ensure the minimum price should be lesser than the Purchased and Buy now price"); 
    return false; 
} 

は、この情報がお役に立てば幸い!

+0

それは妥当性検査ですが、同じ時間に値を送信することもできます –

+0

'form'アクションを'

+0

'エラー、予期しない 'getAction'(T_STRING)、 '、'、 ';' " –

関連する問題