フォームを送信する前にこの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>
誰もがそれのために右のコードを書くために私を助けてくださいことはできますか?
あなたのサーバー上で検証する必要があります。クライアント側での検証は安全ではありません。なぜなら、あるフォームが別のフォームやページからスクリプトにデータを送信したり、ブラウザ内のページを編集したりするだけなので(firebugなど) – radicarl