所以我做了一个表格,工作人员可以用表格发布足球或网球等活动。所以我有两个日期,他们可以选择。第一个日期是活动的开始日期,第二个日期是活动的结束日期。我不希望它能够比选定的开始日期更早地选择结束日期。因此,例如,我想填写像保龄球这样的活动,并且我在开始日期03-04-2018和结束日期02-02-2018的形式,我不希望这是可能的。
这是我的表单的外观:
<?php echo form_open('index.php/Jongeren_activiteiten/Add_activiteit'); ?>
<br>
<center>Naam van activiteit:</center>
<div class="form-group">
<input class="form-control" name="activiteit" id="activiteit" type="text">
</div>
<center>Begindatum:</center>
<div class="form-group">
<input class="form-control" name="begindatum" id="begindatum" placeholder="Startdatum cursus" type="date">
</div>
<center>Einddatum:</center>
<div class="form-group">
<input class="form-control" name="einddatum" id="einddatum" placeholder="einddatum cursus" type="date">
</div>
<div>
<button class="btn btn-primary" name="Add_activiteit" >Toevoegen</button>
</div>
</form>
这是以下形式的控制器功能:
public function Add_activiteit()
{
if (isset($_POST['Add_activiteit'])) {
$this->form_validation->set_rules('activiteit', 'Activiteit', 'required');
$this->form_validation->set_rules('begindatum', 'Begindatum', 'required');
$this->form_validation->set_rules('einddatum', 'Einddatum', 'required');
//If form validation true
if ($this->form_validation->run() == TRUE) {
// echo 'form validated';
$data = array (
'activiteit'=>$_POST['activiteit'],
'begindatum'=>$_POST['begindatum'],
'einddatum'=>$_POST['einddatum'],
);
$this->db->insert('activiteit',$data);
$this->session->set_flashdata("success", "u heeft een nieuwe activiteit toegevoegd");
redirect("index.php/Jongeren_activiteiten", "refresh");
}
}
}
begindatum表示开始日期,einddatum表示结束日期。那么我该如何修复它,以便您只能选择比startdate更晚的结束日期? 我也不希望别人能够选择过去的一天。
感谢任何形式的帮助
答案 0 :(得分:0)
您应该使用回调函数..
你这样做的方法是创建一个这样的函数:
function checkDate($start, $end){
if($start > $end){
$this->form_validation->set_message('checkDate', 'The end date must be later than the start date.');
return FALSE;
}else{
return TRUE;
}
}
然后你会把它添加到你的表单验证规则(我会在结束日期这样做),但在前面加上'callback _'
所以它看起来像这样:
$this->form_validation->set_rules('einddatum', 'Einddatum', 'required|callback_checkDate');
可以在此处找到CodeIgniter提供的进一步说明:https://www.codeigniter.com/user_guide/libraries/form_validation.html