Я немного смущен условием написания веб-сервисов с использованием php. У меня есть поле type
, которое должно быть w
или d
, больше ничего. w
для будних дней, как в понедельник, вторник в пятницу, и d
для дат как 2017-02-15
Проверка PHP для webservice
В основном то, что я хочу, если
type
= w
затем days
= Monday
// Это может быть что угодно, с понедельника по Пятница ..
Итак, как я могу поставить валидацию для поля days
, что я должен быть с понедельника по пятницу, он должен дать ошибку, если пользователь вводит что-то еще ..?
Аналогично, если type
= d
затем days
= 2017-02-15
так, если тип д и дни должна быть дата, как 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;
}
}
'isset' возвращает логическое значение, поэтому вы не можете сравнить его в строку. Вы должны сделать сравнение отдельно. – MrDarkLynx
Тогда как я могу проверить, что пользователь ввел что-нибудь? пользователь может оставить его пустым, я не хочу, чтобы пустое значение сохранялось. @MrDarkLynx –
Нет, вы можете оставить 'isset', но вы должны проверить значение отдельно:' if (isset ($ this-> input ['day_type']) && $ this-> input ['day_type'] == 'w') ' – MrDarkLynx