用于验证文本框值的php代码

时间:2015-03-04 13:18:20

标签: php

我的表格中有两栏。

TextBox1中

总计

用户输入我的文本框中的数据,如

textbox1 = 501,502,

总计= 2

我需要验证码..验证textbox1。

FOR EX

如果用户输入

total = 2然后textbox1只接受两个值,如下面的

textbox1 = 501,502,

如果用户尝试输入两个以上的值,则需要回显消息...

如果我在总文本框中输入1,那么它允许用户在textbox1中只输入1个值不超过1 ....

下面是我的代码......

我不知道如何验证这种情况.... plz

$textbox1 = $_POST['textbox1']; 
$arr = explode(",", rtrim($textbox1 , ', '));
$total= $_POST['total'];





 public function receipt_exist($arr,$total)
        {
            $errors=array();
            //validation code here

             return $errors;        
        }

3 个答案:

答案 0 :(得分:0)

如果你需要做的就是检查阵列的长度,这很简单。也许是这样的:

$textbox1 = $_POST['textbox1']; 
$arr = explode(",", rtrim($textbox1 , ', '));
$total= intval($_POST['total']);

if (count($arr) != $total) {
    // display error message
} else {
    // continue
}

错误消息取决于您。例如,您可能会发出一些HTML并结束响应。 (如果你结束了回复,那么你不需要else块,没有它,代码看起来会更清晰。相反,你只需要在if块之后继续使用逻辑。 )

答案 1 :(得分:0)

或使用javascript实现。

<input type="text" id="total" name="total">  
<input type="text" id="textbox1" name="textbox1" onkeypress="return checkInput()">
<script>
function checkInput(){   
        var total = document.getElementById('total').value;
        var textbox1 = document.getElementById('textbox1').value;
        if(total.length*3 < textbox1.length){
             alert("entered value is bigger");
             return false;
       }
}
</script>

FIDDLE

答案 2 :(得分:0)

$textbox1 = $_POST['textbox1']; 
$arr = explode(",", rtrim($textbox1 , ', '));
$total= $_POST['total'];

public function receipt_exist($arr,$total){
  $errors=array();
  if(count($arr)>$total){
   $errors[] = "ERRROR";
  }   
return $errors;        

}