@alex88a

Как сделать проверку динамического обязательного поля?

Есть форма заполнения полей.
<div>
	              <p class="mt10">Время доставки</p>
	              <div class="check_place clearfix">
	                <div>
	                  <input checked="" id="check_3" name="check_1" type="radio" value="fast">
	                  <label class="data_check_label" for="check_3">
	                    Как можно
	                    <br>
	                    быстрее
	                  </label>
	                </div>
	                <div>
	                  <input id="check_4" name="check_1" type="radio" value="select_date">
	                  <label class="data_check_label" for="check_4">
	                    К определенному
	                    <br>
	                    времени
	                  </label>
	                </div>
	              </div>
	            </div>
	            <div class="date_valid">
	              <p class="check_red1">Дата и время</p>
	              <div class="date">
	                <input id="datepicker" placeholder="Дата" name="delivery_date" type="text">
	                <input class="two_valid_input" name="delivery_hours" placeholder="" type="text">
	                <span>:</span>
	                <input class="two_valid_input" name="delivery_minutes" placeholder="" type="text">
	              </div>
	            </div>

как сделать выбор даты обязательным, только если выбрано "К определенному времени". Пример, где идет проверка заполнения полей вот:
protected function validate() {

    	    $email = isset($this->request->post['email'])? $this->request->post['email'] : false;
            $name = isset($this->request->post['name'])? $this->request->post['name'] : false;
            $address = isset($this->request->post['address'])? $this->request->post['address'] : false;
            $phone = isset($this->request->post['phone'])? $this->request->post['phone'] : false;
            $station = isset($this->request->post['station'])? $this->request->post['station'] : false;
            $date = isset($this->request->post['date'])? $this->request->post['date'] : false;
            $hour = isset($this->request->post['hour'])? $this->request->post['hour'] : false;
            $minute = isset($this->request->post['minute'])? $this->request->post['minute'] : false;
            $delivery = isset($this->request->post['delivery'])? $this->request->post['delivery'] : false;
            
            $errors = array();
            
            if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
                $errors[] = 'email';    
            }
            
            if(empty($name)){
                $errors[] = 'firstname';
            }
            
            if(empty($address)){
                $errors[] = 'adress';
            }
            
            if(!preg_match('/^\+[\d]{1}\ \([\d]{2,3}\)\ [\d]{2,3}-[\d]{2,3}-[\d]{2,3}$/', $phone)){
                $errors[] = 'phone';
            }
            
            if(empty($station)){
                $errors[] = 'metro';
            }
           
            if(count($errors)>0){
                return array('errors' => $errors);
            }else{
                return true;
            }
    }

Как добавить такую проверку в php?
Всем заранее спасибо!
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
@4iloveg
Full-Stack HTML Developer
if($this->request->post['check_1'] == 'select_date' && empty($this->request->post['delivery_date']) ){
$errors[] = 'название ошибки';
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽