Exemplo n.º 1
0
 public function _validation_date_string($val, $year_field = null, $delimiter = '-')
 {
     if (empty($val)) {
         return true;
     }
     // if $val is empty, uncheck;
     $date_items = Util_Date::sprit_date_str($val, true, $delimiter);
     $month = $date_items['month'];
     $date = $date_items['date'];
     $year = 2000;
     // 閏年の年を初期値としてセット
     if (!empty($date_items['year'])) {
         $year = $date_items['year'];
     } elseif ($year_field && $this->input($year_field)) {
         $year = $this->input($year_field);
     }
     if ($month < 1 || $month > 12) {
         return false;
     }
     if ($date < 1) {
         return false;
     }
     if ($date > Date::days_in_month($month, $year)) {
         return false;
     }
     return checkdate($month, $date, $year);
 }
Exemplo n.º 2
0
 private function set_validation_member_field_birthday()
 {
     if (!$this->check_is_enabled_member_field('birthday')) {
         return false;
     }
     $properties = Form_Util::get_model_field('member', 'birthyear');
     $attrs = $properties['attributes'];
     $attrs['value'] = isset($this->member_obj->birthyear) ? $this->member_obj->birthyear : date('Y');
     if (self::conf('birthday', 'birthyear.isRequired')) {
         $properties['rules'][] = 'required';
     }
     $this->validation->add('member_birthyear', $properties['label'], $attrs, $properties['rules']);
     list($month, $day) = !empty($this->member_obj->birthday) ? Util_Date::sprit_date_str($this->member_obj->birthday) : array(1, 1);
     if (self::conf('birthday', 'birthday.isRequired')) {
         $rules[] = 'required';
     }
     $options = Form_Util::get_int_options(1, 12);
     $rules = array(array('valid_string', 'numeric'), array('in_array', array_keys($options)));
     $this->validation->add('member_birthday_month', '誕生日(月)', array('type' => 'select', 'options' => $options, 'value' => $month), $rules);
     $options = Form_Util::get_int_options(1, 31);
     $rules = array(array('valid_string', 'numeric'), array('in_array', array_keys($options)));
     $this->validation->add('member_birthday_day', '誕生日(日)', array('type' => 'select', 'options' => $options, 'value' => $month), $rules);
 }