我的表格中有两栏。
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;
}
答案 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>
答案 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;
}