Suz*_*uzt 0 php validation codeigniter date
我想验证在Codeigniter中输入的2个日期,条件是,如果结束日期大于开始日期,则将显示警告[javascript警告或其他内容]或无法输入数据
我这样的形式
<h1><?php echo $title; ?></h1>
<form action="<?= base_url(); ?>index.php/admin/kalender/buat" method="post" enctype="multipart/form-data" name="form" id="form">
<?php
echo "<p><label for='IDKategori'>Tingkatan Pimpinan :</label><br/>";
echo form_dropdown('IDKategori', $kategori) . "</p>";
echo "<label for='ptitle'>Kegiatan / Lokasi :</label><br/>";
$data = array('class' => 'validate[required] text-input', 'name' => 'judul', 'id' => 'ptitle', 'size' => 80);
echo form_input($data);
echo "<p><label for='long'>Uraian Kegiatan / Keterangan / Catatan :</label><br/>";
$data = array('class' => 'validate[required] text-input', 'name' => 'konten', 'rows' => '13', 'cols' => '60', 'style' => 'width: 60%');
echo form_textarea($data) . "</p>";
echo "<p><label for='ptitle'>Waktu Mulai :</label><br/>";
$data = array('class' => 'validate[required] text-input', 'name' => 'TanggalMulai', 'id' => 'basic_example_1');
echo form_input($data) . "</p>";
echo "<p><label for='ptitle'>Waktu Akhir :</label><br/>";
$data = array('class' => 'validate[required] text-input', 'name' => 'TanggalAkhir', 'id' => 'basic_example_2');
echo form_input($data) . "</p>";
echo form_submit('submit', 'Tambah Even');
?>
<input type="button" value="Kembali" onClick="javascript: history.go(-1)" />
Run Code Online (Sandbox Code Playgroud)
如何以“ Waktu Akhir&Waktu Mulai”的形式进行验证?
尝试这个。它是通过使用CI验证库。它使用验证的回调类型。
将其放在本if(isset($_POST['submit_button_name'])) {}节中。首先,加载验证数组,
$validation = array(
array('field' => 'startDate', 'label' => 'StartDate', 'rules' => 'required|callback_compareDate'),
array('field' => 'endDate', 'label' => 'endDate', 'rules' => 'required|callback_compareDate'),
);
Run Code Online (Sandbox Code Playgroud)
然后将CI验证库加载为
$this->form_validation->set_rules($validation);
$this->form_validation->set_message('required', '%s is required.');
Run Code Online (Sandbox Code Playgroud)
这就是所谓的后退功能。
function compareDate() {
$startDate = strtotime($_POST['startDate']);
$endDate = strtotime($_POST['endDate']);
if ($endDate >= $startDate)
return True;
else {
$this->form_validation->set_message('compareDate', '%s should be greater than Contract Start Date.');
return False;
}
}
Run Code Online (Sandbox Code Playgroud)
“必需”验证使该字段必须填充某些内容。在这种情况下,回调函数将比较日期,如果开始日期小于起始日期,则进一步处理该表单,否则标记错误。