bla*_*elt 1 codeigniter codeigniter-2
我有一个表单中的文本框输入时间,我用来检查验证使用jquery.但现在我想使用codeigniter的内置验证系统检查文本框的验证.请您告诉我如何使用codeigniter的内置验证系统验证时间输入?
这是我使用jquery如何使用它的代码:
<script type="text/javascript">
$().ready(function() {
$.validator.addMethod("time", function(value, element) {
return this.optional(element) || /^(([0-1]?[0-2])|([2][0-3])):([0-5]?[0-9])\s(a|p)m?$/i.test(value);
}, "Enter Valid Time");
$("#theForm").validate({
rules: {
time: "required time",
},
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是html
<input class="time" type="text" name="time1" size="15">
Run Code Online (Sandbox Code Playgroud)
或许这样的事情
// Validation rule in controller
$this->form_validation->set_rules('time', 'time', 'trim|min_length[3]|max_length[5]|callback_validate_time');
Run Code Online (Sandbox Code Playgroud)
和一个回调:
public function validate_time($str)
{
//Assume $str SHOULD be entered as HH:MM
list($hh, $mm) = split('[:]', $str);
if (!is_numeric($hh) || !is_numeric($mm))
{
$this->form_validation->set_message('validate_time', 'Not numeric');
return FALSE;
}
else if ((int) $hh > 24 || (int) $mm > 59)
{
$this->form_validation->set_message('validate_time', 'Invalid time');
return FALSE;
}
else if (mktime((int) $hh, (int) $mm) === FALSE)
{
$this->form_validation->set_message('validate_time', 'Invalid time');
return FALSE;
}
return TRUE;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5131 次 |
| 最近记录: |