如何编辑错误列表,使其在缺少字段的错误消息中具有空格


How to edit the error list to have spaces in missing fields error message?

你好,我已经使用了下面的代码验证的形式,但是,我使用的方法是不好的,因为我收到错误,如:

您没有为propertydealtype输入值

这个错误消息你可以看到propertydealtype之间没有空格,因为在文本框字段的名称中我不能给空格。

如何解决这个问题?我希望它是这样的:

您没有输入属性交易类型的值!

如何设置空格或用其他方法?

代码如下:

$emptyresult = array();
$emptyresult[]="dealername";
$emptyresult[]="dealerfname";
$emptyresult[]="dealeroccupation";
$emptyresult[]="dealerphone";
$emptyresult[]="dealeremail";
$emptyresult[]="dealeraddress";
$emptyresult[]="ownername";
$emptyresult[]="ImageID"; 
$emptyresult[]="propertytype";
$emptyresult[]="PropertyDocumentType"; 
$emptyresult[]="propertydealtype";
$emptyresult[]="currencytype";
$emptyresult[]="prepostedprice";
$emptyresult[]="priceperarea";
$emptyresult[]="dealstatus";
$emptyresult[]="moreaboutgeneralinfo";
$emptyresult[]="propertystreet"; 
$emptyresult[]="propertyregion";
$emptyresult[]="PropertyArea";
$emptyresult[]="propertydistanceamount"; 
$emptyresult[]="boundarywall"; 
$emptyresult[]="boundraywalltype";
$emptyresult[]="infoonboundarywalltype";  
$emptyresult[]="streetroad";
$emptyresult[]="plot"; 
$emptyresult[]="MoreInfoPropertyGeneralInformation";
$emptyresult[]="constructionmethod"; 
$emptyresult[]="constructionmaterial";
$emptyresult[]="infoaboutconsmaterial"; 
$emptyresult[]="buildingslabs"; 
$emptyresult[]="otherinfoaboutbuildingslabs"; 
$emptyresult[]="floors"; 
$emptyresult[]="infoaboutfloors";  
$emptyresult[]="buildingentrance"; 
$emptyresult[]="infoaboutentrance"; 
$emptyresult[]="entrancetype"; 
$emptyresult[]="numberrooms";
$emptyresult[]="infoaboutrooms"; 
$emptyresult[]="windowtype"; 
$emptyresult[]="corridors";
$emptyresult[]="numberandtypekittchen";
$emptyresult[]="numberandtypebathroom";
$emptyresult[]="itemshome";  
$emptyresult[]="infoaboutavailibleitemhome";
$emptyresult[]="yard";   
$emptyresult[]="yardconstructionmethod";
$emptyresult[]="maingatenumber";  
$emptyresult[]="garage";  
$emptyresult[]="infoaboutbuilding";
$emptyresult[]="utilities";  
$emptyresult[]="propertycondition";
$emptyresult[]="requirements";
$emptyresult[]="AdditionalInformation"; 
$emptyresult[]="status"; 
$emptyresult[]="propertyStatus";
$emptyresult[]="remoteemployee";      
$emptyresult[]="underconstruction";
foreach($emptyresult as $singlevalue)
{
    if(empty($_POST[$singlevalue]))
    {
       echo 'You have''nt Entered Value for ' .$singlevalue. ' <br>';
    }
}

为什么不这样构建数组呢:

$emptyresult['propertydealtype'] = 'Property Deal Type';
foreach($emptyresult as $key => $val) {
   if (empty($_POST[$key])) {
      echo "You didn't set $val";
   }
}

键是您的表单字段名,值是"人类可读"的版本。

尝试使用这样的关联数组。键值是您现在检查的内容,数组的值可以是经过良好格式化的版本。我试着猜测你希望空格如何计算,当然你现在可以改变它来满足你的需要。

我使用!isset()而不是empty(),因为它会告诉你$_POST是否设置了该值,更不用说它是否为空了:

$emptyresult = array();
$emptyresult['dealername'] = 'dealer name';
$emptyresult['dealerfname'] = 'dealer fname';
$emptyresult['dealeroccupation'] = 'dealer occupation';
$emptyresult['dealerphone'] = 'dealer phone';
$emptyresult['dealeremail'] = 'dealer email';
$emptyresult['dealeraddress'] = 'dealer address';
$emptyresult['ownername'] = 'owner name';
$emptyresult['ImageID'] = 'Image ID'; 
$emptyresult['propertytype'] = 'property type';
$emptyresult['PropertyDocumentType'] = 'Property Document Type'; 
$emptyresult['propertydealtype'] = 'property deal type';
$emptyresult['currencytype'] = 'currency type';
$emptyresult['prepostedprice'] = 'preposted price';
$emptyresult['priceperarea'] = 'price per area';
$emptyresult['dealstatus'] = 'deal status';
$emptyresult['moreaboutgeneralinfo'] = 'mor eabout general info';
$emptyresult['propertystreet'] = 'property street'; 
$emptyresult['propertyregion'] = 'property region';
$emptyresult['PropertyArea'] = 'Property Area';
$emptyresult['propertydistanceamount'] = 'property distanceamount'; 
$emptyresult['boundarywall'] = 'boundary wall'; 
$emptyresult['boundraywalltype'] = 'boundray wall type';
$emptyresult['infoonboundarywalltype'] = 'info on boundary wall type';  
$emptyresult['streetroad'] = 'street road';
$emptyresult['plot'] = 'plot'; 
$emptyresult['MoreInfoPropertyGeneralInformation'] = 'More Info Property General Information';
$emptyresult['constructionmethod'] = 'construction method'; 
$emptyresult['constructionmaterial'] = 'construction material';
$emptyresult['infoaboutconsmaterial'] = 'info about cons material'; 
$emptyresult['buildingslabs'] = 'buildings labs'; 
$emptyresult['otherinfoaboutbuildingslabs'] = 'other info about buildings labs'; 
$emptyresult['floors'] = 'floors'; 
$emptyresult['infoaboutfloors'] = 'info about floors';  
$emptyresult['buildingentrance'] = 'building entrance'; 
$emptyresult['infoaboutentrance'] = 'info about entrance'; 
$emptyresult['entrancetype'] = 'entrance type'; 
$emptyresult['numberrooms'] = 'number rooms';
$emptyresult['infoaboutrooms'] = 'info about rooms'; 
$emptyresult['windowtype'] = 'window type'; 
$emptyresult['corridors'] = 'corridors';
$emptyresult['numberandtypekittchen'] = 'number and type kittchen';
$emptyresult['numberandtypebathroom'] = 'number and type bathroom';
$emptyresult['itemshome'] = 'items home';  
$emptyresult['infoaboutavailibleitemhome'] = 'info about availible item home';
$emptyresult['yard'] = 'yard';   
$emptyresult['yardconstructionmethod'] = 'yard construction method';
$emptyresult['maingatenumber'] = 'main gate number';  
$emptyresult['garage'] = 'garage';  
$emptyresult['infoaboutbuilding'] = 'info about building';
$emptyresult['utilities'] = 'utilities';  
$emptyresult['propertycondition'] = 'property condition';
$emptyresult['requirements'] = 'requirements';
$emptyresult['AdditionalInformation'] = 'Additional Information'; 
$emptyresult['status'] = 'status'; 
$emptyresult['propertyStatus'] = 'property Status';
$emptyresult['remoteemployee'] = 'remote employee';   
$emptyresult['underconstruction'] = 'under construction';
foreach($emptyresult as $single_key => $single_value) {
    if (!isset($_POST[$single_key])) {
       echo "You have'nt Entered Value for " .  $single_value . "<br />";
    }
}