在这里,我有三个字段,例如姓名,电子邮件,手机。在这里,我正在做的意味着我在 PHP 中为这些字段编写测试用例,让我们采用名称字段条件,例如
- 空置状态
- 名字不应该是数字
- 姓名至少 3 名
假设上述条件失败意味着我必须推送到Failed Condition数组,我试过我没有得到预期的结果,请任何人更新我的代码
我的代码
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
if(!empty($name) && !empty($email) && !empty($phone)){
// Scenario = 1
if(!preg_match("/^[a-zA-Z'-]+$/", $name)){
$namevalidation['status'] = "Fail" ;
$namevalidation['Failed Condition'][]['name'][]['Name should not be a number'] = "Condition Failed" ;
}
// Scenario = 2
$namelength = strlen($name);
if($namelength > 2){
}else{
$namevalidation['Failed Condition'][]['name'][]['Minimum Charector'] = "Condition Failed" ;
}
if(!empty($namevalidation)){
echo json_encode($namevalidation);
}
}else{
$mandatory['status'] = "Fail" ;
$mandatory['Error Message'] = "Mandatory fields mismatch";
if(empty($name)){
$mandatory['Required Fields'][] = "Name is mandatory";
}
if(empty($email)){
$mandatory['Required Fields'][] = "Email is mandatory";
}
if(empty($phone)){
$mandatory['Required Fields'][] = "Phone is mandatory";
}
if(!empty($mandatory)){
echo json_encode($mandatory);
}
}
?>
预期产出
{
"status": "Fail",
"Failed Condition": [
{
"name": [
{
"Name should not be a number": "Condition Failed"
},
{
"Minimum Charector": "Condition Failed"
}
]
}
]
}
但我要像这样出去
{
"status": "Fail",
"Failed Condition": [
{
"name": [
{
"Name should not be a number": "Condition Failed"
}
]
},
{
"name": [
{
"Minimum Charector": "Condition Failed"
}
]
}
]
}