gpt4 book ai didi

codeigniter - 如何验证 Codeigniter 中的时间输入

转载 作者:行者123 更新时间:2023-12-02 01:19:07 26 4
gpt4 key购买 nike

我在表单中有一个文本框来输入时间,我使用 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>

这是html

<input class="time" type="text" name="time1" size="15">

最佳答案

也许是这样的

// Validation rule in controller
$this->form_validation->set_rules('time', 'time', 'trim|min_length[3]|max_length[5]|callback_validate_time');

和回调:

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;
}

关于codeigniter - 如何验证 Codeigniter 中的时间输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7440977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com