Web服务的PHP验证



我与使用PHP编写Web服务的条件有些混淆。我有一个type的字段,该字段应为wd,别无其他。w的工作日是星期一,星期二至周五,d用于2017-02-15

等日期

基本上我想要的是

type = w然后 days = Monday//周一至周五之间可以是任何东西。

那么,我将如何对days字段进行验证,我应该在星期一至周五之间进行验证,如果用户输入其他任何内容,它应该会出现错误。?

类似地,如果type = d,则days = 2017-02-15,因此,如果类型为D,而天数应该是2017-02-15这样的日期,则不应是星期一或任何其他字符或数字,它应该是日期。

>

这就是我尝试过的..

if (isset($this->inputs['day_type']) == 'w') {
    // w = Monday, Tuesday etc
    if (isset($this->inputs['days']) && !empty($this->inputs['days'])) {
        $campaign->days = $campaign->days;
    }
} elseif (isset($this->inputs['day_type']) == 'd') {
    if (isset($this->inputs['dates']) && !empty($this->inputs['dates'])) {
        $seperatingDates = explode(";", $this->inputs['dates']);
        $campaign->days = $seperatingDates;
    }
}

您可以使用

if (isset($this->inputs['day_type']) && $this->inputs['day_type'] == 'w') {
    // w = Monday, Tuesday etc
    if (isset($this->inputs['days']) && !empty($this->inputs['days'])) {
        $campaign->days = $campaign->days;
    }
} 
elseif (isset($this->inputs['day_type']) && $this->inputs['day_type'] == 'd') {
    if (isset($this->inputs['dates']) && !empty($this->inputs['dates'])) {
        $seperatingDates = explode(";", $this->inputs['dates']);
        $campaign->days = $seperatingDates;
    }
}

说明:

isset(value)如果设置了该值,则返回true,否则返回false

因此,在这里您要检查post值(day_type)是否存在并且等于w,然后执行第一个语句块。如果设置了值(day_type),并且等于d,则执行第二个语句块。

更新:

也可以简单地使用switch..case

$day_type = $this->inputs['day_type'];
switch($day_type)
{
     case 'w' : 
         if (isset($this->inputs['days']) && !empty($this->inputs['days'])) {
            $campaign->days = $campaign->days;
         }
         break;
     case 'd' : 
         if (isset($this->inputs['dates']) && !empty($this->inputs['dates'])) {
             $seperatingDates = explode(";", $this->inputs['dates']);
             $campaign->days = $seperatingDates;
         }
}

相关内容

  • 没有找到相关文章

最新更新