我正在根据“十进制”验证我的字段,但我想支持欧元。如何验证该字段是否可以显示欧元的小数点或逗号?在我的数据库中,我将把所有内容转换为INT并乘以100。
答案 0 :(得分:2)
您需要在名为/application/libraries/
MY_Form_validation.php
中创建一个文件
在此文件中,您可以覆盖用于验证小数的十进制方法。您的文件应如下所示
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Form_validation extends CI_Form_validation {
/**
* Decimal number
*
* @access public
* @param string
* @return bool
*/
function decimal($str)
{
return (bool) preg_match('/^[\-+]?[0-9]+[\.,][0-9]+$/', $str);
}
}
// END Form Validation Extension Class
/* End of file MY_Form_validation.php */
/* Location: ./application/libraries/MY_Form_validation.php */
此方法与原始方法之间的区别在于中间的[\.,]
。在原始文件中,它只是\.
,只允许句点.
如果您不想更改小数法的工作方式,可以将其重命名为euro
,然后只需添加euro
作为验证规则。